Pagini recente » Cod sursa (job #2454481) | Cod sursa (job #2741066) | Cod sursa (job #2181322) | Cod sursa (job #2191324) | Cod sursa (job #403994)
Cod sursa(job #403994)
#include <fstream>
#include <algorithm>
#include <vector>
#define MAX 50001
using namespace std;
struct S {
long l;
long d;
}a[MAX];
bool Calc (S, S);
//long l[MAX], d[MAX];
long m, n, i, j, x, y;
ifstream fin("orase.in");
ofstream fout("orase.out");
int main()
{
fin >> m >> n;
for ( i = 0; i < n; ++i)
{
fin >> a[i].d >> a[i].l;
//d[i] = x * 100000 + y;
}
sort(a, a + n, Calc);
long dt = a[0].l - a[0].d;
long maxt = 0, dn, max;
for ( i = 1; i < n; ++i)
{
max = 0;
dn = a[i].l - a[i].d;
max = a[i].l + a[i].d + dt;
if ( dn > dt)
dt = dn;
if(maxt < max)
maxt = max;
}
fout << maxt << '\n';
fin.close();
fout.close();
return 0;
}
bool Calc(S a, S b)
{
return a.d < b.d || a.d == b.d && a.l < b.l;
}