40pts求助
  • 板块P1714 切蛋糕
  • 楼主rui000
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/7/2 16:16
  • 上次更新2024/7/2 18:52:35
查看原帖
40pts求助
1277642
rui000楼主2024/7/2 16:16

前五个WA

#include <bits/stdc++.h>
using namespace std;
const int N=5e5+10;
int a[N],s[N];
queue<int> q;
int main(){
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
		s[i]=s[i-1]+a[i];
	}
	int mx=-1e9;
	q.push(0);
	for(int i=1;i<=n;i++){
		while(q.front()+m<i) q.pop();
		mx=max(mx,s[i]-s[q.front()]);
		while(q.size()!=0&&s[q.back()]>=s[i]){
			q.pop();
		}
		q.push(i);
	}
	cout<<mx;
}
2024/7/2 16:16
加载中...