Cod sursa(job #1312374)

Utilizator RaduToporanRadu Toporan RaduToporan Data 9 ianuarie 2015 14:13:00
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <cstdio>

int n,k,a,b,s[500001],d[500001],i;
long long secvente=0;

int main()
{
    freopen("divk.in","r",stdin);
    freopen("divk.out","w",stdout);
    scanf("%d%d%d%d",&n,&k,&a,&b);
    for (i=1; i<=n; i++)
    {
        scanf("%lld",&s[i]);
        s[i]=(s[i]+s[i-1])%k;
    }
    for (i=1; i<=n; i++)
    {
        if (i-a>=0) d[s[i-a]]++;
        if (i-b>0) d[s[i-b-1]]--;
        secvente=secvente+d[s[i]];
    }
    printf("%d",secvente);
    return 0;
}