rt。
#include <iostream>
#define N 1100100
using namespace std;
int n, a[N << 1];
int ans, dq[N << 1];
int main() {
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i], a[i + n] = a[i];
int j = 1, st = 1, ed = 0;
for (int i = 1; i <= n << 1; i++) {
while (j < i && i - j >= n >> 1) {
while (st <= ed && a[j] - j <= dq[ed]) ed--;
dq[++ed] = j++;
}
while (st <= ed && i - dq[st] > n >> 1) st++;
ans = max(ans, a[i] + a[dq[st]] +i - dq[st]);
}
cout << ans << "\n";
return 0;
}