Cod sursa(job #1759791)

Utilizator pas.andreiPopovici Andrei-Sorin pas.andrei Data 19 septembrie 2016 20:35:08
Problema Tribute Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#include <iostream>
#include <deque>
#include <vector>
#include <set>
#include <algorithm>
#define NMAX 50005
#define INF 0x3f3f3f3f

using namespace std;

typedef pair<int, int> pii;

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

long long x[NMAX],y[NMAX],spx[NMAX],spy[NMAX];

int main(){
	long long n,i,j,minx=INF,miny=INF,drx=0,dry=0,l,c,a,b,distx=0,disty=0;

	fin>>n>>l>>c;

	for(i=1;i<=n;++i) {
		fin>>a>>b;
		++x[a];
		++y[b];
	}

	for(i=50000;i>=0;--i) {
		spx[i]=spx[i+1]+distx;
		spy[i]=spy[i+1]+disty;
		distx+=x[i];
		disty+=y[i];
	}

	distx=disty=0;
	for(i=0;i<=50000;++i) {
		drx+=distx;
		dry+=disty;
		minx=min(minx,drx+spx[i+l]);
		miny=min(miny,dry+spy[i+c]);
		distx+=x[i];
		disty+=y[i];
	}

	cout<<minx<<' '<<miny;
	fout<<minx+miny;

	return 0;
}