Cod sursa(job #935680)

Utilizator paunmatei7FMI Paun Matei paunmatei7 Data 4 aprilie 2013 13:39:37
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 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)
    {
        int c;
        scanf("%d" , &c);
        sp[i]=(sp[i - 1]  + c) % 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;
}