Pagini recente » Cod sursa (job #2909343) | Cod sursa (job #2562300) | Cod sursa (job #2294588) | Cod sursa (job #223249) | Cod sursa (job #935685)
Cod sursa(job #935685)
#include<stdio.h>
#define NMAX 500000
int n,k,a,b,sp[NMAX+10],f[NMAX+10];
int main()
{
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
int start,end,x,i;
long long res=0;
scanf("%d%d%d%d",&n,&k,&a,&b);
for(i=1;i<=n;i++)
{
scanf("%d",&x);
sp[i]=(x+sp[i-1])%k;
}
res=0;
for(i=1;i<=n;i++)
{
if(i-a>=0)
f[sp[i-a]]++;
if(i-b>0)
f[sp[i-b-1]]--;
res=res+(long long)f[sp[i]];
}
printf("%d\n",res);
return 0;
}