Pagini recente » Cod sursa (job #1631285) | Cod sursa (job #2255551) | Cod sursa (job #2626079) | Cod sursa (job #554161) | Cod sursa (job #503170)
Cod sursa(job #503170)
#include <stdio.h>
using namespace std;
int n,k,i,j,f,ii,m[500001],v[500001],p[500001],a,b;
long long nr,s[500001];
int main()
{
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
ii=1;
scanf("%d %d %d %d",&n,&k,&a,&b);
s[0]=0;
for (i=1;i<=n;i++)
{
scanf("%d",&m[i]);
s[i]=s[i-1]+m[i];
v[i]=s[i] % k;
}
p[0]=1;
for (i=a;i<=n;i++)
{
nr+=p[v[i]];
p[v[i-a+1]]++;
if (i>=b)
p[v[i-b]]--;
}
printf("%lld",nr);
return 0;
}