Pagini recente » Cod sursa (job #868319) | Cod sursa (job #1389986) | Cod sursa (job #788289) | Cod sursa (job #2820535) | Cod sursa (job #246487)
Cod sursa(job #246487)
#include <cstdio>
#define lm 100010
long v[500010],d[100010],n,k,a,b,i,x,st,s;
long long c;
int main()
{
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
scanf("%ld %ld %ld %ld",&n,&k,&a,&b);
for (i=1; i<=n; i++)
{
scanf("%ld",&x);
s=(s+(x%k))%k;
v[i]=s%k;
}
d[0]=1;
for (i=a; i<=n; i++)
{
c+=d[v[i]];
d[v[i-a+1]]++;
if (st+b<=i)
{
d[v[st]]--;
st++;
}
}
printf("%lld\n",c);
}