Cod sursa(job #3209555)

Utilizator andreipirjol5Andrei Pirjol andreipirjol5 Data 2 martie 2024 19:20:23
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream fin ("deque.in");
ofstream fout ("deque.out");

struct Deque
{
    int value, idx;
};

deque <Deque> dq;

int main()
{
    int n, k;
    fin >> n >> k;

    long long s = 0;
    for(int i = 1; i <= n; i++)
    {
        Deque x;
        fin >> x.value;
        x.idx = i;

        while(!dq.empty() and dq.back().value > x.value)
            dq.pop_back();

        dq.push_back(x);

        while(!dq.empty() and dq.front().idx <= i - k)
        {
            dq.pop_front();
        }

        if(i >= k)
            s += dq.front().value;
    }

    fout << s;

    fin.close();
    fout.close();
    return 0;
}