[第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
16怪兽:手搓迷你容器
深入技术用 namespace 与 cgroups 亲手拼出一个最小可用的容器,回头对照 Docker 的每个概念。
2
15怪兽:底层原理
深入技术看懂 namespace、cgroups、veth、iptables 与 overlayfs 各自在哪一层做了什么。
3
14进阶:资源限制与性能
深入技术给容器划出 CPU 与内存的上限,并弄清一个容器为什么还能把宿主机拖垮。
4
13进阶:容器安全
深入技术把容器关进笼子:以非 root 运行、裁剪 Linux 能力、限制系统调用,并知道这些边界在哪。
5
总有一天我会搞清楚所有的细节
闲谈杂录如题
随机文章随机推荐





