#include <bits/stdc++.h>
using namespace std;
int l[100010], r[100010], n, i, res[100010], arr[100010];
int rec(int pos) {
  if (pos > n) return 1000000010;
  int ret = 0;
  l[pos] = min(l[pos - 1] + 1, arr[pos]);
  rec(pos + 1);
  r[pos] = min(arr[pos], r[pos + 1] + 1);
  res[pos] = min(l[pos], r[pos]);
  return r[pos];
}
int main() {
  scanf(" %d", &n);
  for (i = 1; i <= n; i++) {
    scanf(" %d", &arr[i]);
  }
  rec(1);
  sort(res + 1, res + 1 + n);
  printf("%d\n", res[n]);
  return 0;
}
