#include <bits/stdc++.h>
using namespace std;
const int MAXN = 3000 + 10;
int A[MAXN];
int B[MAXN];
long long dp[MAXN][MAXN];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d", &A[i]);
    A[i] -= i;
  }
  memcpy(B, A, n * sizeof(int));
  sort(B, B + n);
  for (int j = 0; j < n; j++) {
    dp[0][j] = abs(A[0] - B[j]);
  }
  for (int i = 1; i < n; i++) {
    long long temp = dp[i - 1][0];
    for (int j = 0; j < n; j++) {
      temp = min(temp, dp[i - 1][j]);
      dp[i][j] = temp + abs(A[i] - B[j]);
    }
  }
  long long ans = *min_element(dp[n - 1], dp[n - 1] + n);
  printf("%lld\n", ans);
  return 0;
}
