#include <bits/stdc++.h>
using namespace std;
const int inft = 1000000009;
const int MAXN = 1000006;
int n, T[MAXN], A[MAXN], B[MAXN];
int main() {
  scanf("%d", &n);
  for (int i = 0; i < (n); ++i) scanf("%d", &T[i]);
  A[0] = 1;
  for (int i = 1; i < n; ++i) A[i] = min(A[i - 1] + 1, T[i]);
  B[n - 1] = 1;
  for (int i = n - 2; i >= 0; --i) B[i] = min(B[i + 1] + 1, T[i]);
  int ret = 0;
  for (int i = 0; i < (n); ++i) ret = max(ret, min(A[i], B[i]));
  printf("%d\n", ret);
  return 0;
}
