Pagini recente » Cod sursa (job #529144) | Cod sursa (job #2358205) | Cod sursa (job #2952438) | Cod sursa (job #1344586) | Cod sursa (job #1676020)
#include <stdio.h>
#include <algorithm>
#include <math.h>
using namespace std;
struct city{
int d,l;
}v[50005];
bool comp(city c1, city c2){
return c1.d < c2.d;
}
int main()
{
int i,n,m;
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].d,&v[i].l);
}
sort(v+1, v+n+1, comp);
int st,dr;
int sol = 0;
for(st = 1,dr = 2;dr <= n;dr++){
sol = max(sol, v[dr].d - v[st].d + v[dr].l + v[st].l);
if(v[dr].l > v[dr].d - v[st].d + v[st].l){
st = dr;
}
}
printf("%d",sol);
return 0;
}