Cod sursa(job #549141)

Utilizator andreea1coolBobu Andreea andreea1cool Data 8 martie 2011 10:23:56
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<stdio.h>
int i,j,n,k,v[5000001],d[5000001],in=1,sf=0,sol;
int main()
{
    freopen("deque.in","r",stdin);
    freopen("deque.out","w",stdout);
    scanf("%d%d",&n,&k);
    for(i=1;i<=n;i++)
    scanf("%d",&v[i]);
    for(i=1;i<=n;i++)
    {
        while(in<=sf&&v[i]<=v[d[sf]])
        sf--;
        d[++sf]=i;
        if(d[in]==i-k)
        in++;
        if(i>=k)sol+=v[d[in]];
    }
    printf("%d",sol);
    return 0;
}