曹老师有一个数列 {b[i]} ,他想将其变为等差数列。
等差数列是指,长度为1的数列,或是数列中相邻两个元素的差值相等的数列,即 a[2]-a[1]=a[3]-a[2]=a[4]-a[3]=……
曹老师可以对每个元素进行修改一次,将其增加1,或者减少1。请问曹老师至少需要修改几个元素,才能将数列 {b[i]} 变为等差数列?
若无论怎样修改,都不能将其变为等差数列,则输出-1。
曹老师有一个数列 {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。
4 24 21 14 10
3