Pagini recente » Cod sursa (job #2514148) | Cod sursa (job #2344919) | Cod sursa (job #275570) | Cod sursa (job #504470) | Cod sursa (job #1641659)
#include<cstdio>
#include<algorithm>
struct elem
{
int d,l;
};
bool comp(elem a,elem b)
{
if(a.d==b.d)
return a.l>b.l;
return a.d<b.d;
}
const int NMAX=50007;
elem v[NMAX];
int main()
{
freopen("orase.in","r",stdin);
freopen("orase.out","w",stdout);
int n,m;
scanf("%d %d ",&m,&n);
for(int i=1;i<=n;i++)
{
scanf("%d %d ",&v[i].d,&v[i].l);
}
std::sort(v+1,v+n+1,comp);
int max=0,dp=v[1].l,poz=v[1].d;
for(int i=2;i<=n;i++)
{
if(dp+v[i].d-poz+v[i].l>max)
{
max=dp+v[i].d-poz+v[i].l;
}
if(v[i].l>dp+v[i].d-poz)
dp=v[i].l,poz=v[i].d;
}
printf("%d\n",max);
return 0;
}