#include <bits/stdc++.h>
using namespace std;
int distance(const vector<int>& A, const vector<int>& B) {
int dist = 0;
for (size_t i = 0; i < A.size(); ++i) {
dist += abs(A[i] - B[i]);
}
return dist;
}
bool isHarmonious(const vector<int>& seq) {
int n = seq.size();
for (int i = 1; i < n - 1; ++i) {
if (seq[i] != seq[i - 1] + seq[i + 1]) {
return false;
}
}
return true;
}
int findMinDistance(const vector<int>& B) {
int n = B.size();
int minDist = INT_MAX;
for (int a1 = -1000; a1 <= 1000; ++a1) {
for (int a2 = -1000; a2 <= 1000; ++a2) {
vector<int> A(n);
A[0] = a1;
A[1] = a2;
for (int i = 2; i < n; ++i) {
A[i] = A[i - 1] - A[i - 2];
}
if (isHarmonious(A)) {
minDist = min(minDist, distance(A, B));
}
}
}
return minDist;
}
int main() {
int n;
cin >> n;
vector<int> B(n);
for (int i = 0; i < n; ++i) {
cin >> B[i];
}
int result = findMinDistance(B);
cout << result << endl;
return 0;
}
14分