Cod sursa(job #1093390)

Utilizator Eby7Elena Obreja Eby7 Data 27 ianuarie 2014 22:26:49
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,i,inc,sf;
int a[5000005],deque[5000005];
long long 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;
}