记录编号 602714 评测结果 AAAAA
题目名称 2698.环路运输 最终得分 100
用户昵称 Gravatar对立猫猫对立 是否通过 通过
代码语言 C++ 运行时间 0.208 s
提交时间 2025-07-05 15:44:10 内存使用 5.00 MiB
显示代码纯文本
#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;
}