社区讨论

45pts求调

P1714切蛋糕参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mizu7j9w
此快照首次捕获于
2025/12/10 17:59
3 个月前
此快照最后确认于
2025/12/13 09:15
3 个月前
查看原帖
前五个没过,但后四个过了。

code

CPP
#include<bits/stdc++.h>
using namespace std;
#define int long long
int sum[signed(5e5)+5];
struct num{
    int nb,ads;
};
deque<num> q;
signed main(){
	int n,m,t;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		scanf("%lld",&t);
		sum[i]=sum[i-1]+t;
	}
	int maxV=INT_MIN;
	for(int i=1;i<=n;i++){
		while(!q.empty()&&(i-q.front().ads)>=m) q.pop_front();
		maxV=max(maxV,sum[i]-sum[q.front().ads-1]);
		while(!q.empty()&&q.back().nb>sum[i]) q.pop_back();
		q.push_back({sum[i],i});
	}
	cout<<maxV; 

    return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...