Cod sursa(job #611643)

Utilizator paul_gabryelPaul Buda paul_gabryel Data 2 septembrie 2011 15:26:56
Problema Tribute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb

#include <cstdio>
#include <fstream>

using namespace std;

#define N 50001

int x[N],y[N],n,i,dx,dy,a,b;

inline int solve (int *v,int d,int n){
	
	int r,sum=0;
	for(i=d;i<N;++i)
		sum+=v[i]*(i-d);
	r=sum;
	for(i=1;i<N;++i)
		v[i]+=v[i-1];
	for(i=1;i+d<N;++i){
		sum+=v[i-1];
		sum-=n-v[i+d-1];
		if(sum<r)
			r=sum;}
	
	return r;}

int main ()
{
	
	ifstream f ("tribute.in");
	freopen ("tribute.out","w",stdout);
	f>>n>>dx>>dy;
	for(i=1;i<=n;++i){
		f>>a>>b;
		++x[a];
		++y[b];
		}
	printf("%d",solve(x,dx,n)+solve(y,dy,n));
	
	return 0;}