#include <bits/stdc++.h>
using namespace std;
int const maxN = 1e5 + 20;
int n, a[maxN], dp1[maxN], dp2[maxN], mx;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n;
  for (int i = (int)(1); i < (int)(n + 1); i++) cin >> a[i];
  for (int i = (int)(1); i < (int)(n + 1); i++)
    dp1[i] = min(dp1[i - 1] + 1, a[i]);
  for (int i = (int)(n + 1 - 1); i >= (int)(1); i--)
    dp2[i] = min(dp2[i + 1] + 1, a[i]);
  for (int i = (int)(1); i < (int)(n + 1); i++)
    mx = max(mx, min(dp1[i], dp2[i]));
  return cout << mx, 0;
}
