Cod sursa(job #1189644)

Utilizator TataruTataru Mihai Tataru Data 23 mai 2014 12:05:19
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 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;
    long long s=0;
    ifstream fin(inFile);
    fin>>n>>k;
    for(i=1;i<=n;i++) fin>>a[i];
    fin.close();

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

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