Cod sursa(job #761692)

Utilizator silviu982001Borsan Silviu silviu982001 Data 27 iunie 2012 03:23:01
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <stdio.h>
long s[1000000],v[1000000];
long long nr=0;
int main()
{
	long i,n,k,a,b,p;
	FILE *f,*g;
	f = fopen("divk.in","r");
	fscanf(f,"%ld %ld %ld %ld",&n,&k,&a,&b);
	for(i = 1;i<=n;i++)
	{
		fscanf(f,"%ld",&p);
		s[i] = (s[i-1]+p) % k;
	}
	for(i=1;i<=n;i++)
	{
		if (i > b) v[s[i-b-1]]--;
		if (i >= a) v[s[i-a]]++;
		nr = nr + v[s[i]];
	}
	fclose(f);
	g = fopen("divk.out","w");
	fprintf(g,"%lld",nr);
	fclose(g);
	return 0;
}