Cod sursa(job #1255255)

Utilizator andreeainfo_dAndreea Dutulescu andreeainfo_d Data 4 noiembrie 2014 16:23:17
Problema Deque Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include <cstdio>
int n,k,i,p,u,nr,j,s,q,a[5000005],x[5000005];
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",&a[i]);
    }
    p=1;
    u=1;
    x[p]=a[1];
    q=x[1];
    i=1;
    while(i<n)
    {
        //nr++;
        i++;
        for(j=u;j>=p;j--)
        {
            if(x[j]<a[i])
            {
                u=j;
                u++;
                x[u]=a[i];
                break;
            }
            if(j==p)
            {
                u=j;
                u++;
                p=u;
                x[u]=a[i];
                break;
            }
        }
        if(i>=k)s=s+x[p];
        if(q==x[p]){nr++;}
        else q=x[p];
        if(nr==k-1){nr=0;p++;}
    }
    /*for(i=p;i<=u;i++)
    {
        printf("%d ",x[i]);
    }*/
    printf("%d",s);
    return 0;
}