#3#2wa,求调
  • 板块P1714 切蛋糕
  • 楼主Au_Gold
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/5/19 18:21
  • 上次更新2024/5/19 20:50:40
查看原帖
#3#2wa,求调
1112952
Au_Gold楼主2024/5/19 18:21
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N = 5e5 + 5, mod = 998244353;

int n, k, p[N];

int main()//wa了2和3???
{
    cin >> n >> k;
    for (int i = 1; i <= n; i++)
    {
        cin >> p[i];
    }

    int ans = INT_MIN, sum = 0;
    deque<int> deq; // 存下标
    for (int i = 1; i <= n; i++)
    {
        // 超k出
        while (deq.size() && i - deq.front() + 1 > k)
        {
            sum -= p[deq.front()];
            deq.pop_front();
        }
        // 和为负数就清空
        while (sum < 0)
        {
            sum -= p[deq.front()];
            deq.pop_front();
        }
        // 进
        deq.push_back(i);
        sum += p[i];

        // 更新答案
        ans = max(ans, sum);
    }

    cout << ans << endl;

    return 0;
}
2024/5/19 18:21
加载中...