给定长度为 n 的数组 a,定义“好数组”为存在非负整数 k,使得对任意下标 i(从 1 开始)都有
∣ai−i∣=k.我们可以通过每次对某个元素加或减 1 来调整数组,使其变为“好数组”,求最少操作次数。
令 bi=ai−i,则对固定的 k,位置 i 最终要满足
∣ai−i∣=k⟺ai=i+k或ai=i−k.
注意这里并不要求最终的值必须在 [1,n] 范围内,只要操作次数最少即可。
对每个 k(0≤k≤n−1)进行枚举:
小红认为一个长度为n的数组a是好的,当且仅当对于任意的i均满足:
∣ai−i∣均相等,其中数组下标i从1开始,小红每次可以对一个数加1或者减1,求把给定的数组变成好数组的最少操作次数
第一行一个整数n(1≤n≤1000),表示数组长度。 第二行n个整数,第i个为ai(1≤ai≤n)。
一个整数,表示把给定的数组变成好数组的最少操作次数。
输入
3
3 2 1
输出
2
输入
3
1 2 3
输出
0