Cod sursa(job #655168)

Utilizator Adrian1997Radulescu Adrian Adrian1997 Data 1 ianuarie 2012 17:00:27
Problema Orase Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("orase.in");
ofstream g("orase.out");
int n,m;

struct orase{
	int D,L;
};
orase v[50001];

int cmp(orase a,orase b){
	if(a.D>b.D)
		return 0;
	else if(a.D==b.D){
		if(a.L>b.L)
			return 0;
		else
			return 1;
	}
}

int main(void){
	register int i,j;
	
	f>>m>>n;
	for(i=1;i<=n;i++)
		f>>v[i].D>>v[i].L;
	
	sort(v+1,v+n+1,cmp);
	
	j=1;
	int max=0;
	for(i=2;i<=n;i++){
		if(max<v[i].L+v[i].D+v[j].L-v[j].D)
			max=v[i].L+v[i].D+v[j].L-v[j].D;
		if(v[i].L-v[i].D>v[j].L-v[j].D)
			j=i;
	}
	g<<max;
	f.close();
	g.close();
	return 0;
}