Pagini recente » Cod sursa (job #2823838) | Cod sursa (job #1595411) | Cod sursa (job #445217) | Cod sursa (job #311741) | Cod sursa (job #1713177)
#include <cstdio>
#define NMax 500005
long long sum[NMax];
long long v[NMax];
int main(){
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
int i,j,A,B,n,k,x;
long long ans=0;
scanf("%d %d %d %d",&n,&k,&A,&B);
for( i = 1; i <= n; ++i )
{
scanf("%d",&x);
sum[i] = ( sum[i-1] + x ) % k;
}
for( i = A; i <= n; ++i )
{
v[ sum[i-A] ]++;
ans += v[ sum[i] ];
if(i-B>=0)
v[ sum[i-B] ]--;
}
printf("%lld\n",ans);
return 0;
}