78pts求条
查看原帖
78pts求条
1145420
longyitongxue楼主2025/7/30 16:44

记录

#include<iostream>
#include<deque>
using namespace std;
int sum[1000005];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr),cout.tie(nullptr);
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>sum[i];
		sum[i]+=sum[i-1];
	}
	deque<int> q;
	int ans=-2147483648;
	for(int i=1;i<=n;i++){
		while(q.size()&&q.front()+m<i)q.pop_front();
		while(q.size()&&sum[q.back()]>=sum[i])q.pop_back();
		ans=max(ans,sum[i]-sum[q.front()]);
		q.push_back(i);
	}
	cout<<ans;
	return 0;
}

虽然看了近视后人,但是那个是手写队列,求条 STL 的队列写的代码

2025/7/30 16:44
加载中...