问题 5778 --调整序列

5778: 调整序列

题目描述

给定一个整数序列 $a_1,\dots,a_n$ ,小爱需要修改其中一些数字,将它调整成一个上升且连续的整数序列。所谓上升且连续,就是指每一个数字恰好比前一个数大 $1$。 若某个数字 $a$ 被改成了 $a'$,则定义它的修改工作量为 $|a-a'|$。请找到一种修改方法,使得修改工作量的总和达到最小,输出这个最小值。

输入

第一行:单个整数 $n$,表示数列长度; 第二行:$n$ 个整数,表示 $a_1,\dots,a_n$。

输出

单个整数:表示最小的修改工作量。

样例输入输出

输入#1 复制
5
2 3 3 3 3
输出#1 复制
5
输入#2 复制
5
-3 3 0 2 4
输出#2 复制
7

提示

+ 对于 $30\%$ 的数据,$1\leq n\leq 20$,$1\leq a_i\leq 20$; + 对于 $60\%$ 的数据,$1\leq n\leq 5000$,$1\leq a_i\leq 5000$; + 对于 $100\%$ 的数据,$1\leq n\leq 500000$,$-10^{9}\leq a_i\leq 10^9$ 样例1说明:改成1 2 3 4 5 样例2说明:改成-1 0 1 2 3
序号 标题 作者 发表时间 费用 订购数 操作