[第1章 1.2t3] 切蛋糕

129 字
1 分钟
[第1章 1.2t3] 切蛋糕
//没想到使用队列,建立一个sum累计数组,注意不要i==dq.front否则出现0污染结果
//每增加一个位置,要先检查大小,在运用窗口极小值算出最大值,同ans更新
//同时检测用当前值将dq更新成小于它的队列,保证单增,开始位置最小
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ll n,m;
cin>>n>>m;
ll a;
vector<ll> sum(n+3,0);
for(ll i=1;i<=n;i++){
cin>>a;
sum[i]=sum[i-1]+a;
}
deque<ll> dq;
ll ans=-1e18;
dq.push_back(0);
for(ll i=1;i<=n;i++){
while(!dq.empty()&&i-dq.front()>m)dq.pop_front();
ans=max(ans,sum[i]-sum[dq.front()]);
while(!dq.empty()&&sum[dq.back()]>=sum[i])dq.pop_back();
dq.push_back(i);
}
cout<<ans<<endl;
return 0;
}

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
[第1章 1.2t3] 切蛋糕
https://hecloud.top/posts/oi/12t3-切蛋糕/
作者
贺小云
发布于
2026-06-26
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
贺小云
热爱技术与折腾的博客 Dancing with uncertainty. 与不确定性共舞
公告
出于成本考虑,贺云已全面转型Serverless架构
分类
标签
碎碎念
站点统计
文章
68
分类
6
标签
38
总字数
46,536
运行时长
0
最后活动
0 天前
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.5
文章许可
CC BY-NC-SA 4.0

当前页面没有目录