Pagini recente » Cod sursa (job #3122941) | Cod sursa (job #2956311) | Cod sursa (job #1824960) | Cod sursa (job #2775281) | Cod sursa (job #503166)
Cod sursa(job #503166)
#include <stdio.h>
using namespace std;
int n,k,i,j,f,ii,m[500001],v[500001],s[500001],p[500001],a,b,nr;
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("%d",nr);
return 0;
}