Pagini recente » Cod sursa (job #1576648) | Cod sursa (job #509539) | Cod sursa (job #1235295) | Cod sursa (job #2101854) | Cod sursa (job #503168)
Cod sursa(job #503168)
#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("%d",nr);
return 0;
}