Cod sursa(job #1255466)

Utilizator seby5381Marinescu Sebastian seby5381 Data 4 noiembrie 2014 20:14:13
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include<cstdio>
int s,u,p,a[5000007],i,n,k,x,ii,q,uu;
int main()
{
    freopen("deque.in","r",stdin);
    freopen("deque.out","w",stdout);
    scanf("%d%d",&n,&k);
    p=1;
    u=0;
    a[0]=-111111;
    q=0;
    uu=0;
    for(i=1;i<=n;i++)
    {
        scanf("%d",&x);
        if(a[u]<=x)
        {
            u++;
            a[u]=x;
            if(p!=u) q++;
        }
        else
        {
            while(a[u]>x&&u>=p)
            {
                u--;
            }
            u++;
            a[u]=x;
            if(u>p) q++;
        }
        if(q==k)
        {
            uu++;
            q=0;
            if(uu==1) s+=a[p];
            p++;
        }
        if(uu>=1) s+=a[p];
       /* for(ii=p;ii<=u;ii++)
            printf("%d ",a[ii]);
        printf("\n");*/
    }
    printf("%d",s);
    return 0;
}