都是
Problem Statement
“时间飞快的流逝,唯独现在,我有一种想对爱因斯坦发牢骚的心情,Rintarou,时间根据每个人的主观感受,既会变长,也会变短,相对论真是既浪漫又伤感的东西呢。”
因为Kurisu是天才科学家、疯狂实验妹、重度的@Cher、天才**少女、The zombie,但是她并不中二,所以题面会比较清新。
Kurisu 正在研究相对论,你秒了上一题后 Kurisu 由于研究时不近人情与高傲的态度,想要出一道题来打击一下你。
题面如下:
小Rintarou正在研究交换。
小Rintarou认为一个整数序列是好的,当且仅当它先(不严格)上升,后(不严格)下降。
形式化地,我们认为序列\(a_1, a_2, · · ·, a_n\)是好的,当且仅当存在某个\(k ∈ [1, n]\),使得对于任意\(1 ≤ i < k\),有\(a_i ≤ a_{i+1}\);且对于任意\(k ≤ i < n\),有\(a_i ≥ a_{i+1}\)
小 Rintarou 得到了一个长度为\(n\)的序列\(a_1, a_2, · · ·, a_n\),他想让这个序列变成好的。小 Rintarou 每次可以交换**相邻**的两个元素。因为交换很累,所以小 Rintarou 想知道,他最少需要交换多少次。
这下小 Rintarou 又不会了,请你帮帮他。
Input Format
从标准输入读入数据。
第一行一个正整数\(n\),表示序列的长度。
第二行\(n\)个空格隔开的整数\(a_1, a_2, · · ·, a_n\),表示初始的序列。
Output Format
向标准输出输出答案。
输出一行一个整数,表示最小交换次数。
Sample 1
Input
6
6 5 1 3 2 4
Output
4
Explanation
Kurisu 看你眉头紧皱,于是就过来帮帮你
一组最优解如下:
- 交换 \(a_5, a_6\),得到\(a = [6, 5, 1, 3, 4, 2]\);
- 交换 \(a_4, a_5\),得到\(a = [6, 5, 1, 4, 3, 2]\);
- 交换 \(a_2, a_3\),得到\(a = [6, 1, 5, 4, 3, 2]\);
- 交换 \(a_1, a_2\),得到\(a = [1, 6, 5, 4, 3, 2]\)。
Constraints
对于所有测试数据\(1 ≤ n ≤ 3 × 10^5,1 ≤ a_i ≤ n\)
对于前10% 的数据\(n ≤ 10\)
对于前40% 的数据\(n ≤ 500\)
对于前60% 的数据\(n ≤ 100000\)
对于另外20% 的数据\(a\)为\([1,n]\)的一个排列
对于前100% 的数据 没有限制
信息
- ID
- 1073
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者