Cod sursa(job #577850)

Utilizator daniel.florinPitis Daniel-Florin daniel.florin Data 10 aprilie 2011 17:58:00
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.35 kb
#include <cstdio>

int a,b,n,k,x,i,w[500005],v[500005];
long long nr;

int main()
{
	freopen("divk.in","r",stdin);
	freopen("divk.out","w",stdout);
	scanf("%d %d %d %d",&n,&k,&a,&b);
	for(i=1;i<=n;++i)
	{
		scanf("%d",&x);
		w[i]=(w[i-1]+x)%k;
		if(i-b-1>=0) --v[w[i-b-1]];
		if(i-a>=0) v[w[i-a]]++;
		nr+=v[w[i]];
	}
	printf("%lld",nr);
	return 0;
}