Cod sursa(job #2041680)

Utilizator dragosQQCirtorosan Dragos dragosQQ Data 17 octombrie 2017 18:07:59
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <deque>
#define mx 5000001

using namespace std;

deque < pair<int,int> > coada;
int a[mx],k,suma;
ifstream fin("deque.in");
ofstream fout("deque.out");

int main (){
    int i,n,x;
    fin>>n>>k;
    for (i=0; i<n; i++){
        fin>>x;
        while ((!coada.empty()) && (x<coada.back().first))
            coada.pop_back();
        coada.push_back({x,i});
        if (coada.front().second <= i-k) coada.pop_front();
        if (i >= k-1) suma+=coada.front().first;
    }
    fout<<suma;
    return 0;
}