记录编号 602687 评测结果 AAAAA
题目名称 2698.环路运输 最终得分 100
用户昵称 Gravatar汐汐很希希 是否通过 通过
代码语言 C++ 运行时间 0.525 s
提交时间 2025-07-05 14:55:28 内存使用 13.01 MiB
显示代码纯文本
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e6+10;
int n,a[2*N],f[2*N];
int main()
{
    freopen("transportt.in","r",stdin);
    freopen("transportt.out","w",stdout);
    
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        a[i+n]=a[i];
    }
    memset(f,0,sizeof(f));
    int l=1,r=1,ans=0;
    f[1]=1;
    for(int i=2;i<=2*n;i++)
    {
        while(l<=r&&i-f[l]>n/2) l++;
        ans=max(ans,a[i]+i+a[f[l]]-f[l]);
        while(l<=r&&a[i]-i>=a[f[r]]-f[r]) --r;
        f[++r]=i;
    }
    cout<<ans<<endl;
    return 0;
}