Cod sursa(job #361267)

Utilizator DeadEyeNaiba Mihai Lucian DeadEye Data 4 noiembrie 2009 12:58:48
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<cstdio>
#include<algorithm>

using namespace std;
int d;
struct pozi
{
	int a,b;
};
pozi v[50001];
bool comp(pozi x, pozi y)
{
	if(x.a<y.a) return true;
	if(x.a>y.a) return false;
	return x.b-y.b;
}
int main()
{
	int maxim,m,n,i;
	freopen("orase.in","r",stdin);
	freopen("orase.out","w",stdout);
	scanf("%d%d",&m,&n);
	for(i=1;i<=n;++i)
		scanf("%d%d",&v[i].a,&v[i].b);
	sort(v+1,v+n+1,comp);
	d=v[1].b;
	maxim=0;
	for(i=2;i<=n;++i)
	{
		d+=v[i].a-v[i-1].a;
		if(d+v[i].b>maxim)
			maxim=d+v[i].b;
		if(v[i].b>d)
		{
			d=v[i].b;
		}
	}
	printf("%d\n",maxim);
	return 0;
}