Pagini recente » Cod sursa (job #825155) | Cod sursa (job #824783) | Cod sursa (job #2788315) | Cod sursa (job #305374) | Cod sursa (job #935681)
Cod sursa(job #935681)
#include<stdio.h>
long long n , k , a , b , sp[500007] , sum , ap[500007];
int main()
{
freopen("divk.in" , "r" , stdin);
freopen("divk.out" , "w" , stdout);
scanf("%lld %lld %lld %lld" , &n , &k , &a , &b);
for(int i=1 ; i<=n ; ++i)
{
int c;
scanf("%lld" , &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("%lld\n" , sum);
return 0;
}