Pagini recente » Cod sursa (job #1210898) | Cod sursa (job #694428) | Cod sursa (job #3225550) | Cod sursa (job #1981104) | Cod sursa (job #2585730)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f ( "orase.in" );
ofstream g ( "orase.out" );
struct strazi
{
int d, l;
};
strazi v[50002];
bool cmpx ( strazi a, strazi b )
{
if ( a.d == b.d )
return a.l < b.l;
return a.d < b.d;
}
int main()
{
int N, M;
f >> M >> N;
for ( int i = 1; i <= N; i++ )
f >> v[i].d >> v[i].l;
sort ( v + 1, v + N + 1, cmpx );
strazi ultim = v[1];
int dmax = 0;
for ( int i = 2; i <= N; i++ )
{
int dist = v[i].d - ultim.d + v[i].l + ultim.l;
if ( dist > dmax )
dmax = dist;
if ( v[i].l > ultim.l + v[i].d - ultim.d )
ultim = v[i];
}
g << dmax;
return 0;
}