#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;
}
