Cod sursa(job #2368279)

Utilizator catalintermureTermure Catalin catalintermure Data 5 martie 2019 15:04:15
Problema Deque Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#include <deque>

using namespace std;

ifstream inf("deque.in");
ofstream outf("deque.out");

deque<pair<int, int> > dq;

int main() {
    int n, k, t;
    long long rez = 0;
    inf >> n >> k;
    for(int i = 1; i <= n; i++) {
        inf >> t;
        while(!dq.empty() && t < dq.back().first) {
            dq.pop_back();
        }
        dq.push_back({t, i});
        if(i >= k) {
            rez += dq.front().first;
            if(dq.front().second <= i - k + 1) {
                dq.pop_front();
            }
        }
    }
    outf << rez;
    return 0;
}