C1960 鸡尾酒排序

内存限制:256 MB 时间限制:1000 ms

题目描述

鸡尾酒获得了一个乱序的序列,他希望将这个序列变成一个严格递增的序列。众所周知,排序算法通常只能达到大约 $O(n\log_n)$ 的时间复杂度,而鸡尾酒想在 $O(n)$ 的时间里就将这个序列变成严格递增的!

于是,他决定对每个元素都进行一些修改,这样就能使得第一个元素变成最小的元素,第二个元素变成第二小的元素...聪明的鸡尾酒就这样发明了一个 $O(n)$ 的“排序”算法!但是他希望改动的元素不要幅度太大,否则大家会觉得这个序列和之前差距太大,而嘲笑他的“排序”算法。所以他定义,假如将第$i$个数字$a_i$改为$a_{i2}$,花费将是 |$a_i - a_{i2}$|,他想知道将整个序列改成严格递增的序列的最小花费是多少。

输入格式

输入第一行包含一个正整数$n(1 \leq n \leq 10^3)$

接下来一行包含 $n$ 个由空格隔开的正整数,第 $i$ 个数字表示为 $a_i(1 \leq a_i \leq 10^9)$

输出

输出一行一个正整数表示答案

样例

样例输入 1

3 3 5 4

样例输出 1

2

提示