Pagini recente » Cod sursa (job #2653683) | Borderou de evaluare (job #2100081) | Cod sursa (job #2198691) | Cod sursa (job #2813163) | Cod sursa (job #769550)
Cod sursa(job #769550)
#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;
}