Pagini recente » Cod sursa (job #2302969) | Cod sursa (job #1277429) | Cod sursa (job #1337985) | Cod sursa (job #396350) | Cod sursa (job #2411318)
#include <fstream>
#include <algorithm>
#include <cmath>
using namespace std;
ifstream f("orase.in");
ofstream g("orase.out");
int m,n;
long long sm;
struct drum
{
int x,l;
}v[50005];
inline bool comp1(drum a,drum b)
{
return a.x<b.x;
}
inline bool comp2(drum a,drum b)
{
return a.l>b.l;
}
int main()
{
f>>m>>n;
for(int i=1;i<=n;i++)
f>>v[i].x>>v[i].l;
sort(v+1,v+n+1,comp1);
sm=max(sm,1LL*((v[n].x-v[1].x)+v[1].l+v[n].l));
sort(v+1,v+n+1,comp2);
sm=max(sm,1LL*(abs(v[2].x-v[1].x)+v[1].l+v[2].l)) ;
g<<sm<<'\n';
return 0;
}