比赛 2025暑期集训第4场 评测结果 AWAWE
题目名称 环路运输 最终得分 40
用户昵称 KKZH 运行时间 0.193 s
代码语言 C++ 内存使用 4.15 MiB
提交时间 2025-07-05 11:43:27
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
long long n,ans;
long long a[1000010];
deque <int> q;
int main(){
	freopen("transportt.in","r",stdin);
	freopen("transportt.out","w",stdout);
	scanf("%lld",&n);
	for(long long i=1;i<=n;i++){
		scanf("%lld",&a[i]);
		a[i+n]=a[i];
	}
	for(long long i=1;i<=n;i++){
		while (q.empty()==0&&i-q.front()>n/2)
            q.pop_front();
        if (q.empty()==0)
            ans=max(ans, a[i]+a[q.front()]+i-q.front());
        while(q.empty()==0&&a[q.back()]-q.back()<= a[i]-i)
            q.pop_back();
        q.push_back(i);
	}
	printf("%lld",ans);
	return 0;
}