Cod sursa(job #3039766)

Utilizator GrigMihaiGrigore Mihai GrigMihai Data 28 martie 2023 20:41:13
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include <fstream>
#include <deque>
#include <iostream>

using namespace std;

int main() {
    ifstream in("deque.in");
    ofstream out("deque.out");

    int n, k;
    in>>n>>k;
    deque<pair<int, int>> d;

    for(int i=1;i<=k;i++)
    {
        int x;
        in>>x;

        while(!d.empty()&&d.back().first>=x)
            d.pop_back();

        d.push_back({x, i});
    }
    long long s=d.front().first;

    for(int i=k;i<=n;i++)
    {
        int x;
        in>>x;

        while(!d.empty()&&d.back().first>=x)
            d.pop_back();

        d.push_back({x, i});
        if(i-d.front().second+1>k)
            d.pop_front();

        s+=d.front().first;
    }

    out<<s;

    return 0;
}