Cod sursa(job #739862)

Utilizator lily3Moldovan Liliana lily3 Data 23 aprilie 2012 23:26:59
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.43 kb
#include<fstream>
using namespace std;

int i,j,n,x,k,a1,b1;
unsigned long long uz[500002],s[500002],m;
int main()
{
	FILE *f=fopen("divk.in","r");
	FILE *g=fopen("divk.out","w");
	fscanf(f,"%d%d%d%d",&n,&k,&a1,&b1);
	for(i=1;i<=n;++i)
		fscanf(f,"%d",&x),s[i]=(s[i-1]+x)%k;
	for(i=1;i<=n;++i)
	{
		if(i-a1>=0)
			++uz[s[i-a1]];
		if(i-b1>0)
			--uz[s[i-b1-1]];
		m+=uz[s[i]];
	}
	fprintf(g,"%lld",m);
	return 0;
}