Cod sursa(job #795894)

Utilizator Kira96Denis Mita Kira96 Data 9 octombrie 2012 20:38:46
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<fstream>

using namespace std;
#include<algorithm>
ifstream f("orase.in");
ofstream g("orase.out");
struct oras 
{
	int d,l;
}
S[50001];
int cmp(oras a,oras b)
{
	if(a.d==b.d)
		return a.l<b.l;
	return a.d<b.d;
}
int max(int a,int b)
{
	if(a>b)
		return a;
	return b;
}
int n,i,m,maxim,best;
int main ()
{
	f>>m>>n;
	for(i=1;i<=n;++i)
		f>>S[i].d>>S[i].l;
	sort(S+1,S+n+1,cmp);
	
	for(i=1;i<=n;++i)
	{
		maxim+=S[i].d-S[i-1].d;
		maxim=max(S[i-1].l+S[i].d-S[i-1].d,maxim);
		if(maxim+S[i].l>best)
			best=maxim+S[i].l;
	}
	g<<best;
	return 0;
}