Cod sursa(job #769550)

Utilizator lily3Moldovan Liliana lily3 Data 19 iulie 2012 22:12:27
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
#include<algorithm>
using namespace std;

int i,j,n,m,max1=0,rez;
struct princ
{
	int d,l;
};
princ a[50001];
bool cmp(princ a, princ b)
{
	if(a.d==b.d)
		return a.l<b.l;
	return a.d<b.d;
}
int solve()
{
    rez=max1=a[1].l+a[2].l+a[2].d-a[1].d;
	for(i=3;i<=n;++i)
	{
		rez=max(a[i-1].l,rez-a[i-1].l)+a[i].l+a[i].d-a[i-1].d;
		max1=max(max1,rez);
	}
	return max1;
}
int main()
{
	freopen("orase.in","r",stdin);
	freopen("orase.out","w",stdout);
	scanf("%d%d",&m,&n);
    for(i=1;i<=n;++i)
        scanf("%d%d",&a[i].d,&a[i].l);		
	sort(a+1,a+n+1,cmp);
	printf("%d",solve());
	return 0;
}