#include <bits/stdc++.h>
using namespace std;
const int MAX = 100100;
int n, h[MAX], lewy[MAX], prawy[MAX];
void wczytaj_dane() {
  cin >> n;
  h[0] = 0;
  for (int i = (1); i <= (n); i++) cin >> h[i];
  h[n + 1] = 0;
}
void wypelnij_lewy() {
  lewy[0] = 0;
  for (int i = (1); i <= (n); i++) lewy[i] = min(lewy[i - 1] + 1, h[i]);
}
void wypelnij_prawy() {
  prawy[n + 1] = 0;
  for (int i = (n); i >= (1); i--) prawy[i] = min(prawy[i + 1] + 1, h[i]);
}
int rozwiaz() {
  int w = 0;
  for (int i = (1); i <= (n); i++) w = max(w, min(lewy[i], prawy[i]));
  return w;
}
void zrob_test() {
  wczytaj_dane();
  wypelnij_lewy();
  wypelnij_prawy();
  cout << rozwiaz() << '\n';
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  zrob_test();
  return 0;
}
