Cod sursa(job #1195609)

Utilizator DenisacheDenis Ehorovici Denisache Data 8 iunie 2014 09:53:34
Problema Deque Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <cstdio>
using namespace std;
int N,K,i;
int v[5000005],D[5000005];
long long S;
int main()
{
    freopen("deque.in","r",stdin);
    freopen("deque.out","w",stdout);
    scanf("%d %d",&N,&K);
    int B=0,F=1;
    for (i=1;i<=N;i++)
    {
        scanf("%d",&v[i]);
        while (F<=B && v[i]<=v[D[B]]) B--;
        D[++B]=i;
        if (D[F]==i-K) ++F;
        if (i>=K) S+=v[D[F]];
    }
    printf("%lld",S);
    return 0;
}