#include <bits/stdc++.h>
using namespace std;
const long long MXN = 3e5 + 10;
const long long LOG = 20;
long long n, m;
long long A[MXN], lg[MXN], rmq[LOG][MXN], Rmq[LOG][MXN];
long long dpl[LOG][MXN], dpr[LOG][MXN];
long long ANS[MXN], Pl[MXN], Pr[MXN];
void Build(long long t) {
  for (int i = 1; i <= m; i++) rmq[0][i] = dpl[t][i];
  for (int j = 1; j < LOG; j++) {
    for (int i = 1; i <= m; i++) {
      if (i < (1LL << j)) continue;
      rmq[j][i] = min(rmq[j - 1][i], rmq[j - 1][i - (1LL << (j - 1))]);
    }
  }
  for (int i = 1; i <= m; i++) Rmq[0][i] = dpr[t][i];
  for (int j = 1; j < LOG; j++) {
    for (int i = 1; i <= m; i++) {
      if (i < (1LL << j)) continue;
      Rmq[j][i] = max(Rmq[j - 1][i], Rmq[j - 1][i - (1LL << (j - 1))]);
    }
  }
}
long long Min(long long l, long long r) {
  return min(rmq[lg[r - l + 1]][r],
             rmq[lg[r - l + 1]][l + (1LL << lg[r - l + 1]) - 1]);
}
long long Max(long long l, long long r) {
  return max(Rmq[lg[r - l + 1]][r],
             Rmq[lg[r - l + 1]][l + (1LL << lg[r - l + 1]) - 1]);
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  for (int i = 0; (1LL << i) < MXN; i++) lg[(1LL << i)] = i;
  for (int i = 1; i < MXN; i++) lg[i] = max(lg[i - 1], lg[i]);
  cin >> n, m = n * 3;
  if (n == 1) return cout << 0, 0;
  for (int i = 1; i <= n; i++)
    cin >> A[i], A[i + n] = A[i], A[i + n + n] = A[i];
  for (int i = 1; i <= m; i++) {
    dpl[0][i] = max(i - A[i], 1ll);
    dpr[0][i] = min(i + A[i], m);
  }
  for (int i = 1; i <= m; i++) Pl[i] = Pr[i] = i;
  for (int t = 1; t < LOG; t++) {
    Build(t - 1);
    for (int i = 1; i <= m; i++) dpl[t][i] = Min(dpl[t - 1][i], dpr[t - 1][i]);
    for (int i = 1; i <= m; i++) dpr[t][i] = Max(dpl[t - 1][i], dpr[t - 1][i]);
  }
  for (int j = LOG - 1; ~j; j--) {
    Build(j);
    for (int i = n; i <= n + n; i++) {
      long long npl = Min(Pl[i], Pr[i]);
      long long npr = Max(Pl[i], Pr[i]);
      if (npr - npl + 1 < n) {
        Pl[i] = npl, Pr[i] = npr;
        ANS[i] += (1LL << j);
      }
    }
  }
  for (int i = 1; i <= n; i++) cout << ANS[i + n] + 1 << ' ';
  return 0;
}
