Cod sursa(job #3343284)

Utilizator EricDimiCismaru Eric-Dimitrie EricDimi Data 26 februarie 2026 19:30:19
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream f("deque.in");
ofstream g("deque.out");

struct Elem
{
    int poz, val;
    Elem(int poz, int val)
    {
        this->poz = poz;
        this->val = val;
    }
};

int main()
{
    int N, K;
    deque<Elem> dq;
    long long sum = 0;
    //
    f >> N >> K;
    for(int i = 1; i <= N; i++)
    {
        int x;
        f >> x;
        if(dq.front().poz == i - K)
            dq.pop_front();
        while(!dq.empty() && dq.back().val >= x)
            dq.pop_back();
        dq.push_back(Elem(i, x));
        if(i >= K)
            sum += dq.front().val;
    }
    g << sum;
    f.close();
    g.close();
    return 0;
}