88ptsWA3#求调
  • 板块P1714 切蛋糕
  • 楼主lIBsen
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/10 09:57
  • 上次更新2024/7/10 11:11:13
查看原帖
88ptsWA3#求调
1067367
lIBsen楼主2024/7/10 09:57
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 5e5 + 10;
int n, m, now, ans = LONG_LONG_MIN;
queue<int> cake;
signed main() {
    cin >> n >> m;
    int cc = -1;
    for (int i = 1; i <= n; i ++ ) {
        int a;
        cin >> a;
        cake.push(a);
        now += a;
        if (cc != -1) {
            for (int j = 1; j <= cc; j ++ ) now -= cake.front(), cake.pop();
            cc = -1;
        }
        while (cake.size() > m) {
            now -= cake.front();
            cake.pop();
        }
        while (cake.front() < 0 && cake.size() > 1) {
            now -= cake.front();
            cake.pop();
        }
        if (now < 0) cc = cake.size();
        ans = max(ans, now);
    }
    cout << ans;
}
2024/7/10 09:57
加载中...