Cod sursa(job #1189636)

Utilizator TataruTataru Mihai Tataru Data 23 mai 2014 12:00:23
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <fstream>
#define inFile "deque.in"
#define outFile "deque.out"

using namespace std;

int coada[5000001],a[5000001];

int main()
{
    int n,k,i,y,x,s=0;
    ifstream fin(inFile);
    fin>>n>>k;
    for(i=0;i<n;i++) fin>>a[i];
    fin.close();

    y=1;x=0;
    for(i=0;i<n;i++)
    {
        while(y<=x && a[i]<=a[coada[x]]) x--;
        coada[++y]=i;
        if(coada[y]==i-k+1) y++;
        if(i>=k-1) s+=a[coada[y]];
    }

    ofstream fout(outFile);
    fout<<s;
    fout.close();
}