Cod sursa(job #823337)

Utilizator stefan.friptuPetru Stefan Friptu stefan.friptu Data 24 noiembrie 2012 21:42:09
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.37 kb
#include<cstdio>

using namespace std;

long n,k,l,u,i,s;
long v,v[500005],f[500005];

int main()
{
	freopen("divk.in","r",stdin);
	freopen("divk.out","w",stdout);

	scanf("%d%d%d%d",&n,&k,&l,&u);
	
	for(i=1;i<=n;i++)
	{
		scanf("%ld",&v);
		v[i]=(v[i-1]+v)%k;
	}

	for(i=l;i<=n;i++)
	{
		f[v[i-l]]++;
		if(i>u)
			f[v[i-u-1]]--;
		s+=f[v[i]];
	}

	printf("%d",s);

	return 0;
}