Pagini recente » Cod sursa (job #416740) | Cod sursa (job #680938) | Cod sursa (job #2001831) | Cod sursa (job #2143606) | Cod sursa (job #841666)
Cod sursa(job #841666)
#include <stdio.h>
int n;
int x;
int v[100100];
int s[500100];
long long sol;
int k,a,b;
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<a; i++)
{
scanf("%d",&x);
s[i]=(s[i-1]+x)%k;
}
for(int i=a; i<b; i++)
{
scanf("%d",&x);
s[i]=(s[i-1]+x)%k;
v[s[i-a]]++;
sol+=v[s[i]];
}
for(int i=b; i<=n; i++)
{
scanf("%d",&x);
s[i]=(s[i-1]+x)%k;
v[s[i-a]]++;
sol+=v[s[i]];
v[s[i-b]]--;
}
printf("%lld",sol);
return 0;
}