Cod sursa(job #2833976)

Utilizator adelachiritaAdela Chirita adelachirita Data 16 ianuarie 2022 09:34:38
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <deque>
#include <fstream>

using namespace std;

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

struct numar
{
    int val;
    int poz;
};

int N, K, nr;
numar x;
long long s;
deque <numar> deq;

int main()
{
    fin >> N >> K;
    for (int i = 1; i <= N; i++){
        fin >> nr;
        while (!deq.empty() and deq.front().poz < i - K + 1){
            deq.pop_front();
        }
        while (!deq.empty() and deq.back().val > nr){
            deq.pop_back();
        }
        x.val = nr;
        x.poz = i;
        deq.push_back(x);
        if (i >= K)
            s += deq.front().val;
    }
    fout << s;

    return 0;
}