Cod sursa(job #2467253)

Utilizator bluestorm57Vasile T bluestorm57 Data 3 octombrie 2019 21:27:59
Problema Tribute Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
//wish me luck
// this is not a 100% original code
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX = 50000;
const int inf = 1 << 30;
int n,dx,dy,s,ans,minn,lo,hi;
int px[NMAX+5],py[NMAX+5];

int main() {
	int i,j,x,y;
	f>> n >> dx >> dy;
	for(i = 1 ; i <= n ; i++){
		f >> x >> y;
		px[x]++;
        py[y]++;
	}
	minn = inf;
	for(i = dx ;i <= NMAX ; i++){
		hi += px[i];
        s += px[i] * (i - dx + 1);
	}

	for(i = dx ; i <= NMAX ; i++){
		s -= hi;
		hi -= px[i];
		lo += px[i - dx - 1];
		s += lo;
		minn = min(minn,s);
	}
	ans = minn;
	lo = hi = s = 0;
	minn = inf;
	for(i = dy; i <= NMAX ; i++){
		hi += py[i];
        s += py[i] * (i - dy + 1);
	}

	for(i = dy ; i <= NMAX ; i++){
		s -= hi;
		hi -= py[i];
		lo += py[i - dy -1];
		s += lo;
		minn = min(minn,s);
	}
	ans += minn;
	g << ans <<"\n";
	return 0;
}