Cod sursa(job #495920)

Utilizator mihai995mihai995 mihai995 Data 27 octombrie 2010 11:23:55
Problema Orase Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>
using namespace std;

struct oras{int x,d;} v[1<<16];
int maxim,n;

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

bool cmp(oras a,oras b)
{
	return a.x<b.x || a.x==b.x && a.d<b.d;
}

inline int dist(oras a,oras b)
{
	return a.d+b.d+b.x-a.x;
}

int main()
{
	int d=-1,i;
	in>>n>>n;
	for (i=1;i<=n;i++)
		in>>v[i].x>>v[i].d;
	sort(v+1,v+n+1,cmp);
	maxim=1;
	for (i=2;i<=n;i++)
	{
		d=max(d,dist(v[maxim],v[i]));
		if (v[i].d>v[maxim].x+v[maxim].d)
			maxim=i;
	}
	out<<d<<"\n";
	return 0;
}