Cod sursa(job #672447)

Utilizator nicnic28nichita trita nicnic28 Data 2 februarie 2012 10:33:28
Problema Orase Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("orase.in");
ofstream out("orase.out");

struct oras{
	int d,l;
};
const int N=50001;
int m,n,i,dc,dmax=-2000000000;
oras loc[N],u;

void read(){
	in>>m>>n;
	for (i=1 ; i<=n ; i++)
		in>>loc[i].d>>loc[i].l;
}

bool cmp(oras x,oras y)
{
	return x.d < y.d;
}

int main(){
	read();
	sort(&loc[1],&loc[n+1],cmp);
	u=loc[1];
	for(i=2 ; i<=n ; i++){
		dc=u.l+loc[i].l+loc[i].d-u.d;
		if(dc>dmax)
			dmax=dc;
		//out<<"dmax e "<<dmax<<"\n";
		if(loc[i].l>u.d+u.l-loc[i].d)
			u=loc[i];
		//out<<"u e "<<u.d+u.l<<"\n";
	}
	out<<dmax;
	return 0;
}