Pagini recente » Cod sursa (job #2007762) | Cod sursa (job #2471014) | Cod sursa (job #620049) | Cod sursa (job #1268933) | Cod sursa (job #1592151)
#include <stdio.h>
#include <stdlib.h>
int s[500001],f[500001];
int main()
{
int n,k,a,b,i,r,sc,x;
long long nr=0;
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
scanf("%d%d%d%d",&n,&k,&a,&b);
sc=0;
for(i=1; i<=n; i++)
{
scanf("%d",&x);
sc=(sc+x)%k;
s[i]=sc;
}
for(i=a; i<=b; i++)
{
f[s[i-a]]++;
nr+=f[s[i]];
}
for(i=b+1; i<=n; i++)
{
f[s[i-a]]++;
f[s[i-b-1]]--;
nr+=f[s[i]];
}
printf("%lld\n",nr);
return 0;
}