Cod sursa(job #935679)

Utilizator paunmatei7FMI Paun Matei paunmatei7 Data 4 aprilie 2013 13:39:00
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<stdio.h>
int n , k , a , b , sp[500007] , sum , ap[500007];
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" , &sp[i]);
    for(int i=1 ; i<=n ; ++i)
        sp[i]=(sp[i - 1]  + sp[i]) % k;
    for(int i=1 ; i<=n ; ++i)
    {
        if(i - a >= 0)
            ++ap[sp[i - a]];
        if(i - b > 0)
            --ap[sp[i - b - 1]];
        sum+=ap[sp[i]];
    }
    printf("%d\n" , sum);
    return 0;
}