Cod sursa(job #2013786)

Utilizator LucaSeriSeritan Luca LucaSeri Data 22 august 2017 13:39:39
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

struct num{
    int val;
    int ind;
};

deque<num> deq;

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

int main()
{
    int n;
    f >> n;
    int k;
    f >> k;
    long long ans = 0;
    for(int i = 0; i < n; ++i){
        num a;
        f >> a.val;
        a.ind = i + k;
        while(deq.size() && deq.back().val > a.val){
            deq.pop_back();
        }
        while(deq.front().ind <= i && deq.size()){
            deq.pop_front();
        }
        deq.push_back(a);

        if(i >= k - 1) ans += 1LL*deq.front().val;
    }
    g << ans;
}