Cod sursa(job #675971)

Utilizator PavelPavel Ana-Oriana Pavel Data 8 februarie 2012 15:18:41
Problema Tribute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<fstream>
using namespace std;

ifstream in("tribute.in");
ofstream out("tribute.out");
const int N = 50001;
int nrx[N],nry[N];
int sum[N];

int calcul(int d,int nr[N])
{
	int scor=0,min,i;
	sum[0]=nr[0];
	for(i=1;i<N;i++)
		sum[i]=sum[i-1]+nr[i];
	for(i=d+1;i<N;i++)
		scor+=nr[i]*(i-d);
	min=scor;
	for(i=1;i+d<N;i++)
	{
		scor+=sum[i-1]-(sum[N-1]-sum[i+d-1]);
		if(scor<min)
			min=scor;
	}
	return min;
}
int main()
{
	int x,y,n,i,dx,dy;
	in>>n>>dx>>dy;
	for(i=1;i<=n;i++)
	{
		in>>x>>y;
		nrx[x]++;
		nry[y]++;
	}
	out<<calcul(dx,nrx)+calcul(dy,nry)<<'\n';
	return 0;
}