Pagini recente » Profil dyazuzik | Cod sursa (job #656962) | Cod sursa (job #2795240) | Cod sursa (job #2515525) | Cod sursa (job #935678)
Cod sursa(job #935678)
#include<stdio.h>
int n , k , a , b , sp[500001] , sum , ap[500001];
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;
}