Increment and Swap
题意翻译
给定一个长度为 $N$ 的 $A$,支持两种操作:
- 交换相邻两个元素。
- 将任一元素 $+1$。
问要把 $A$ 变成一个单调不减的数列,至少需要多少次操作。
$1 \leq N \leq 200000 , 1 \leq A_i \leq 10^9$。
题目描述
[problemUrl]: https://atcoder.jp/contests/cf17-exhibition-open/tasks/cf17_exhibition_b
長さ $ N $ の数列 $ A $ があります。
この数列に対して、次の $ 2 $ 種類の操作が可能です。
- 隣り合う要素をswapする。
- 好きな要素を $ 1 $ つ選んでその値を $ 1 $ 増やす。
これらの操作を繰り返して数列 $ A $ を広義単調増加列にする時、最小で何回の操作が必要か求めてください。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ N $ $ A_1 $ $ A_2 $ $ : $ $ A_N $
输出格式
数列 $ A $ を広義単調増加列にするのに必要な操作の最小回数を出力せよ。
输入输出样例
输入样例 #1
5
4
1
8
8
7
输出样例 #1
2
输入样例 #2
20
8
2
9
7
4
6
7
9
7
4
7
4
4
3
6
2
3
4
4
9
输出样例 #2
62
说明
### 制約
- $ 1\ <\ =\ N\ <\ =\ 200000 $
- $ 1\ <\ =\ A_i\ <\ =\ 10^9 $
- $ A_i $ は整数である。
### Sample Explanation 1
以下のように、$ 2 $ 回の操作で $ A $ を単調増加にできます。 - $ A\ =\ \{4,\ 1,\ 8,\ 8,\ 7\} $ である。 - 最初の $ 2 $ つの要素を swap すると、$ A\ =\ \{1,\ 4,\ 8,\ 8,\ 7\} $ となる。 - 最後の要素を $ 1 $ 増やすと、$ A\ =\ \{1,\ 4,\ 8,\ 8,\ 8\} $ となる。