建议加强数据
  • 板块P1714 切蛋糕
  • 楼主CharlesWY
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/2/8 15:35
  • 上次更新2025/2/8 17:27:41
查看原帖
建议加强数据
1117384
CharlesWY楼主2025/2/8 15:35
#include <iostream>
#include <deque>
using namespace std;
const int N=1000010;
int n,k,a[N],ans=0;
deque <int> q;
signed main(){
	cin>>n>>k;
	for(int i=1;i<=n;++i){
		cin>>a[i];
		a[i]=a[i]+a[i-1];
	}
	q.push_back(0);
	for(int i=1;i<=n;++i){
		while(!q.empty()&&q.front()<i-k){
			q.pop_front();
		}
		while(!q.empty()&&a[i]<=a[q.back()]){
			q.pop_back();
		}
		q.push_back(i);
		ans=max(ans,a[i]-a[q.front()]);
	}
	cout<<ans;
	return 0;
}

这份代码能过,但

hack
in:
5 2 
-1 -2 -3 -4 -5

out:
0

题目中“请你帮他从这 n n 小块中找出连续的 k ( 1 ≤ k ≤ m ) k(1≤k≤m) 块蛋糕,使得其上的总幸运值最大。”

说明必须吃1个及以上,所以hack的答案应为-1

2025/2/8 15:35
加载中...