#include <bits/stdc++.h>
using namespace std;
int Array[100005], Left[100005];
int Right[100005];
int main() {
  int N, i;
  scanf("%d", &N);
  for (i = 1; i <= N; ++i) {
    scanf("%d", Array + i);
    Left[i] = min(Left[i - 1] + 1, Array[i]);
  }
  for (i = N; i >= 1; --i) Right[i] = min(Right[i + 1] + 1, Array[i]);
  int Ans = 0;
  for (i = 1; i <= N; ++i) Ans = max(Ans, min(Left[i], Right[i]));
  printf("%d\n", Ans);
  return 0;
}
