Cod sursa(job #923388)

Utilizator timicsIoana Tamas timics Data 23 martie 2013 14:01:09
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>
int a[500100],d[500100],v[100100],N,K,A,B;
long long s=0;
int main()
{
    freopen("divk.in","r",stdin);
    //freopen("divk.out","w",stdout);
    scanf("%d%d%d%d",&N,&K,&A,&B);
    for(int i=1;i<=N;++i)
    {
        scanf("%d",&a[i]);
        a[i]=(a[i-1]+a[i]%K)%K;
    }
    int f=1;
    int b=0;
    for(int i=0;i<=N-A;++i)
    {
        ++b;
        d[b]=i;
        ++v[a[d[b]]];
        if(d[f]<i+A-B)
        {
            --v[a[d[f]]];
            ++f;
        }
        s=s+v[a[i+A]];
        for(int j=f;j<=b;++j)
            printf("%d ",d[j]);
        printf("\n");
    }
    printf("%lld",s);
}