Cod sursa(job #633023)

Utilizator blk.irineluIrina Ursateanu blk.irinelu Data 12 noiembrie 2011 18:40:36
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <deque>

using namespace std;

int main()
{
    ifstream f("deque.in");
    ofstream g("deque.out");
    deque<int> coada,indici;
    int n,k,x;
    long s=0;
    f>>n>>k;
    for(int i=1;i<=n;i++)
    {
        f>>x;
        while(!coada.empty()&&x<=coada.back())
        {
            coada.pop_back();
            indici.pop_back();
        }
        coada.push_back(x);
        indici.push_back(i);
        if(indici.front()<=i-k)
        {
            coada.pop_front();
            indici.pop_front();
        }
        if(i>=k) s+=coada.front();
    }
    g<<s;
    return 0;
}