#include <bits/stdc++.h>
using namespace std;
int a[2000005],q[2000005];
int main() {
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
// freopen("transportt.in", "r", stdin);
// freopen("transportt.out", "w", stdout);
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
a[i + n] = a[i];
}
int l = 1, r = l, ans = 0;
q[1] = 1;
for (int i = 2; i <= n * 2; i++) {
while (l <= r && i - q[l] > n / 2) l++;
ans = max(ans, a[i] + i + a[q[l]] - q[l]);
while (l <= r && a[i] - i >= a[q[r]] - q[r]) r--;
q[++r] = i;
}
cout << ans << endl;
return 0;
}