Cod sursa(job #823340)

Utilizator stefan.friptuPetru Stefan Friptu stefan.friptu Data 24 noiembrie 2012 21:43:13
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.38 kb
#include<cstdio>

using namespace std;

long n,k,l,u,i,s;
long val,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",&val);
		v[i]=(v[i-1]+val)%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;
}