Cod sursa(job #145741)

Utilizator mariussMarius Telespan mariuss Data 29 februarie 2008 12:14:02
Problema Divk Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.4 kb
#include<stdio.h>
#define nmax 500010
int i,j,n,v[nmax],nr[100010];
int main()
{
	int s=0,n,a,b,k,q;
	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",&q);
		v[i]=(v[i-1]+q)%k;
		if(i-b-1>=0)
			nr[v[i-b-1]]--;
		if(i-a>=0)
			nr[v[i-a]]++;
			
		s+=nr[v[i]];	
	}
	
	printf("%d",s);
	
	return 0;
}