问题 2410 --等差数列修正

2410: 等差数列修正

时间限制: 1 Sec  内存限制: 128 MB
提交: 46  解决: 8
[提交][状态][命题人:]

题目描述

曹老师有一个数列 {b[i]} ,他想将其变为等差数列。

等差数列是指,长度为1的数列,或是数列中相邻两个元素的差值相等的数列,即 a[2]-a[1]=a[3]-a[2]=a[4]-a[3]=……

曹老师可以对每个元素进行修改一次,将其增加1,或者减少1。请问曹老师至少需要修改几个元素,才能将数列 {b[i]} 变为等差数列?

若无论怎样修改,都不能将其变为等差数列,则输出-1。

输入

输入包含一组测试数据。

第一行输入一个整数 n(1<=n<=100000),表示数列 {b[i]} 的长度。

第二行输入n个整数,第 i 个整数表示 b[i](1<=b[i]<=10^9)。

输出

输出一行结果,表示曹老师最少需要修改的元素个数。若无论怎样修改,都不能将其变为等差数列,则输出-1。

样例输入
Copy
4
24 21 14 10
样例输出
Copy
3

提示

来源

[提交][状态]