Cod sursa(job #600946)

Utilizator mihai995mihai995 mihai995 Data 4 iulie 2011 13:44:36
Problema Tribute Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>
using namespace std;

const int N=50005;
int X[2*N],Y[2*N],dX,dY,st,dr,n;

ifstream in("tribute.in");
ofstream out("tribute.out");

int det(int v[],int D)
{
	int i,M,dist=0;
	for (i=D;i<N;i++)
		dist+=v[i]*(i-D);
	M=dist;
	for (i=1;i<N;i++)
		v[i]+=v[i-1];
	for (i=1;i<N;i++)
	{
		dist+=v[i-1];
		dist-=n-v[i+D-1];
		M=min(dist,M);
	}
	return M;
}

int main()
{
	int i,x,y;
	in>>n>>dX>>dY;
	for (i=1;i<=n;i++)
	{
		in>>x>>y;
		X[x]++;
		Y[y]++;
	}
	out<<det(X,dX)+det(Y,dY)<<"\n";
	return 0;
}