Cod sursa(job #332282)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 17 iulie 2009 12:34:21
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <stdio.h>

FILE *in, *out;

long int n,k,a,b,i,sol,s[500005],v[500005];

int main()
{
	in=fopen("divk.in","r");
	out=fopen("divk.out","w");
	
	fscanf(in,"%ld %ld %ld %ld\n",&n,&k,&a,&b);
	
	for(i=0;i<n;i++)
	{
		fscanf(in,"%ld\n",&s[i]);
		
		s[i]+=s[i-1];
	}

	for(i=0;i<a;i++)
		v[s[i]%k]++;
	
	sol+=v[s[0]%k];
	
	for(i=b;i-a+1<n;i++)
	{
		v[s[i-b+1]%k]--;
		
		v[s[i-a+2]%k]++;
		
		sol+=v[s[i]%k];
	}
	
	fprintf(out,"%ld ",sol);
	
	fclose(out);
	
	return 0;
}