Cod sursa(job #1052149)

Utilizator minisudiGeorge Alexandru minisudi Data 10 decembrie 2013 21:37:03
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<iostream.h>
#include<fstream.h>
int main()
{
    ifstream f;
    f.open("date.in");
    ofstream g("date.out");
    int A[5000000],Deque[5000000],Suma=0,N,K,sfarsit=0,inceput=-1,i;
    f>>N>>K;
    for(i=0;i<N;i++)
           f>>A[i];
    for(i=0;i<N;i++)
    {
        while(sfarsit<=inceput && A[i]<=A[Deque[inceput]])
            inceput=inceput-1;
        Deque[++inceput]=i;
        if(Deque[sfarsit]==i-K)
            sfarsit=sfarsit+1;
        if(i>=K-1)
            Suma=Suma+A[Deque[sfarsit]];
    }
    g<<Suma;
    return 0;
}