#include <bits/stdc++.h>
const double PI = acos(-1.0);
const int DIR = 4;
const int X[] = {1, 0, -1, 0};
const int Y[] = {0, 1, 0, -1};
const int N = (int)3e5 + 228;
const int LOG = 20;
using namespace std;
int n, a[N], l[LOG][N], r[LOG][N], t1[LOG][N + N], t2[LOG][N + N], ans[N];
int getMin(int tl, int tr, int degree) {
  tl += n + n + n - 1, tr += n + n + n - 1;
  int res = t1[degree][tl];
  while (tl <= tr) {
    if (tl & 1) res = min(res, t1[degree][tl++]);
    if (!(tr & 1)) res = min(res, t1[degree][tr--]);
    tl >>= 1, tr >>= 1;
  }
  return res;
}
int getMax(int tl, int tr, int degree) {
  tl += n + n + n - 1, tr += n + n + n - 1;
  int res = t2[degree][tl];
  while (tl <= tr) {
    if (tl & 1) res = max(res, t2[degree][tl++]);
    if (!(tr & 1)) res = max(res, t2[degree][tr--]);
    tl >>= 1, tr >>= 1;
  }
  return res;
}
int main() {
  scanf("%d", &n);
  if (n == 1) {
    cout << 0 << endl;
    return 0;
  }
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    a[i + n] = a[i + n + n] = a[i];
  }
  for (int j = 0; j < LOG; j++) {
    if (j == 0) {
      for (int i = 1; i <= n + n + n; i++) {
        l[j][i] = max(1, i - a[i]);
        r[j][i] = min(n + n + n, i + a[i]);
      }
    } else {
      for (int i = 1; i <= n + n + n; i++) {
        l[j][i] = getMin(l[j - 1][i], r[j - 1][i], j - 1);
        r[j][i] = getMax(l[j - 1][i], r[j - 1][i], j - 1);
      }
    }
    for (int i = 1; i <= n + n + n; i++) t1[j][i + n + n + n - 1] = l[j][i];
    for (int i = 1; i <= n + n + n; i++) t2[j][i + n + n + n - 1] = r[j][i];
    for (int i = n + n + n - 1; i >= 1; i--)
      t1[j][i] = min(t1[j][i << 1], t1[j][i << 1 | 1]);
    for (int i = n + n + n - 1; i >= 1; i--)
      t2[j][i] = max(t2[j][i << 1], t2[j][i << 1 | 1]);
  }
  for (int i = 1; i <= n; i++) {
    int tl = i + n, tr = i + n;
    int res = 0;
    for (int j = LOG - 1; j >= 0; j--) {
      int nl = getMin(tl, tr, j);
      int nr = getMax(tl, tr, j);
      if (nr - nl + 1 < n) res += (1 << j), tl = nl, tr = nr;
    }
    printf("%d ", res + 1);
  }
  return 0;
}
