Pagini recente » Cod sursa (job #1877943) | Cod sursa (job #205130) | Cod sursa (job #1624946) | Cod sursa (job #1806990) | Cod sursa (job #204945)
Cod sursa(job #204945)
#include<stdio.h>
#include<algorithm>
using namespace std;
int n,m,dmax,rez;
struct oras
{
int d,l;
};
oras v[50005];
bool compar(const oras &x,const oras &y)
{
if(x.d<y.d)
return true;
return false;
}
int main()
{
freopen("orase.in","r",stdin);
freopen("orase.out","w",stdout);
scanf("%d%d",&m,&n);
for(int i=1; i<=n; i++)
scanf("%d%d",&v[i].d,&v[i].l);
sort(v+1,v+n+1,compar);
if(n==1)
{
printf("0\n");
return 0;
}
rez=v[2].l+v[2].d+v[1].l-v[1].d;
dmax=v[1].l-v[1].d;
for(int i=2; i<=n; i++)
{
if(v[i].l+v[i].d+dmax>rez)
rez=v[i].l+v[i].d+dmax;
if(v[i].l-v[i].d>dmax)
dmax=v[i].l-v[i].d;
}
printf("%d\n",rez);
return 0;
}