#include<bits/stdc++.h>
using namespace std;
#define forn(i, n) for (int i = 0; i < int(n); i++)
#define ll long long
#define E endl
#define pb push_back
#define all(x) begin(x) , end(x) // For vectors of pair
#define py cout<<"YES\n"
#define pn cout<<"NO\n"
int n;
int operations(vector<int> &v){
int cd = v[1] - v[0] , op = 0;
for(int i = 2 ; i < n; i++){
int t = v[0] + cd * i;
if(abs(t - v[i]) > 1)
return n + 1;
op += abs(v[i] - t);
}
return op;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cin >> n;
vector<int> v(n);
forn(i , n) cin >> v[i];
if(n <= 2){
cout<<0<<E;
return 0;
}
int minOp = n + 1;
for(int i = -1 ; i <= 1 ; i++){
for(int j = -1 ; j <= 1 ; j++){
vector<int> cpy = v;
cpy[0] += i;
cpy[1] += j;
int oper = operations(cpy);
oper += i != 0;
oper += j != 0;
minOp = min(oper, minOp);
}
}
if(minOp <= n)
cout<<minOp<<E;
else
cout<<-1<<E;
return 0;
}
838D - Airplane Arrangements | 148B - Escape |
847G - University Classes | 1110A - Parity |
1215B - The Number of Products | 604C - Alternative Thinking |
1204C - Anna Svyatoslav and Maps | 322A - Ciel and Dancing |
1689B - Mystic Permutation | 1711B - Party |
1702D - Not a Cheap String | 1714F - Build a Tree and That Is It |
1703F - Yet Another Problem About Pairs Satisfying an Inequality | 610A - Pasha and Stick |
1200A - Hotelier | 1091A - New Year and the Christmas Ornament |
1352B - Same Parity Summands | 1102A - Integer Sequence Dividing |
630B - Moore's Law | 1004A - Sonya and Hotels |
1680B - Robots | 1690A - Print a Pedestal (Codeforces logo) |
1295A - Display The Number | 1077A - Frog Jumping |
1714G - Path Prefixes | 1369C - RationalLee |
289B - Polo the Penguin and Matrix | 1716A - 2-3 Moves |
1670B - Dorms War | 1716B - Permutation Chain |