Cod sursa(job #1090812)

Utilizator teo.serbanescuTeo Serbanescu teo.serbanescu Data 23 ianuarie 2014 09:13:03
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>

using namespace std;

fstream f("deque.in",ios::in);
fstream g("deque.out",ios::out);

int n,k,i,inc,sf;
int a[5000005],deque[5000005],suma;

int main()
{
    f>>n>>k;
    for (i=1;i<=n;i++) f>>a[i];
    inc=1;sf=0;
    suma=0;
    for (i=1;i<=n;i++)
    {
        while ((inc<=sf)&&(a[i]<=a[deque[sf]])) sf--;
        sf++;
        deque[sf]=i;
        if(deque[inc]==i-k) inc++;
        if (i>=k) suma=suma+a[deque[inc]];
    }
    g<<suma;
    f.close();g.close();
    return 0;
}