func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, ans = 0x3f3f3f3f;   int a[100005], cnt;   int b[100005], gc;   int main() {     scanf( %d , &n);     for (int i = 1; i <= n; ++i) scanf( %d , &a[i]);     for (int i = 1; i <= 9; ++i) {       cnt = 0;       if (i == 1) b[1] = a[1] - 1, b[2] = a[2] - 1;       if (i == 2) b[1] = a[1] - 1, b[2] = a[2] + 0;       if (i == 3) b[1] = a[1] - 1, b[2] = a[2] + 1;       if (i == 4) b[1] = a[1] + 0, b[2] = a[2] - 1;       if (i == 5) b[1] = a[1] + 0, b[2] = a[2] + 0;       if (i == 6) b[1] = a[1] + 0, b[2] = a[2] + 1;       if (i == 7) b[1] = a[1] + 1, b[2] = a[2] - 1;       if (i == 8) b[1] = a[1] + 1, b[2] = a[2] + 0;       if (i == 9) b[1] = a[1] + 1, b[2] = a[2] + 1;       cnt = fabs(b[1] - a[1]) + fabs(b[2] - a[2]);       gc = fabs(b[2] - b[1]);       if (b[2] >= b[1])         for (int i = 3; i <= n; ++i) {           b[i] = a[i];           if (b[i] - gc - b[i - 1] > 1 || b[i] - gc - b[i - 1] < -1) {             cnt = 0x3f3f3f3f;             break;           } else {             if (b[i] == gc + b[i - 1])               continue;             else if (b[i] == gc + b[i - 1] + 1)               --b[i];             else if (b[i] == gc + b[i - 1] - 1)               ++b[i];             cnt += fabs(a[i] - b[i]);           }         }       if (b[2] < b[1]) {         for (int i = 3; i <= n; ++i) {           b[i] = a[i];           if (b[i] + gc - b[i - 1] > 1 || b[i] + gc - b[i - 1] < -1) {             cnt = 0x3f3f3f3f;             break;           } else {             if (b[i] == b[i - 1] - gc)               continue;             else if (b[i] == b[i - 1] - gc + 1)               --b[i];             else if (b[i] == b[i - 1] - gc - 1)               ++b[i];             cnt += fabs(a[i] - b[i]);           }         }       }       ans = min(cnt, ans);     }     if (ans == 0x3f3f3f3f)       cout << -1 << endl;     else       cout << ans << endl;     return 0;   }   