Cod sursa(job #1255148)

Utilizator binicBinica Nicolae binic Data 4 noiembrie 2014 13:49:35
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include<cstdio>
int n,k,ls,i,ld,x,m;
struct nr
{
    int nr,p;
}a[5000002];
int main()
{
    freopen("deque.in","r",stdin);
    freopen("deque.out","w",stdout);
    scanf("%d %d",&n,&k);
    ls=1;
    for(i=1;i<=k;i++)
    {
        scanf("%d",&x);
        while(x>a[ld].nr)
            ld--;
        a[ld].nr=x;
        a[ld].p=i;
    }
    m=a[1].nr;
    for(i=k+1;i<=n;i++)
    {
        scanf("%d",&x);
        if(a[ls].p==i-k)ls++;
        while(x>a[ld].nr)
            ld--;
        a[ld].nr=x;
        a[ld].p=i;
        m+=a[ls].nr;
    }
    printf("%d",m);
    return 0;
}