Pagini recente » Cod sursa (job #2524843) | Cod sursa (job #3289077) | Cod sursa (job #1466544) | Cod sursa (job #515968) | Cod sursa (job #923638)
Cod sursa(job #923638)
#include<stdio.h>
int a[500100],d[500100],v[100100],N,K,A,B;
long long s=0;
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",&a[i]);
a[i]=(a[i-1]+a[i]%K)%K;
}
int f=1;
int b=0;
for(int i=0;i<=N-A;++i)
{
++b;
d[b]=i;
++v[a[d[b]]];
if(d[f]<i+A-B)
{
--v[a[d[f]]];
++f;
}
s=s+v[a[i+A]];
}
printf("%lld",s);
}