Pagini recente » Cod sursa (job #2588872) | Cod sursa (job #257489) | Cod sursa (job #2756353) | Rating Ioana Moga (ioana_moga600) | Cod sursa (job #74241)
Cod sursa(job #74241)
using namespace std;
#include <cstdio>
#include <cassert>
#include <string>
#include <algorithm>
#define FIN "orase.in"
#define FOUT "orase.out"
#define NMAX 50001
#define INF 0x3f3f3f3f
int N, M, L[NMAX], D[NMAX], ind[NMAX];
int cmp (const int a, const int b)
{
if (D[a] == D[b])
return L[a] < L[b];
return D[a] < D[b];
}
void read ()
{
scanf ("%d %d\n", &M, &N);
for (int i = 1; i <= N; ++ i)
scanf ("%d %d\n", D + i, L + i),
ind[i] = i;
sort (ind+1, ind+N+1, cmp);
}
void solve ()
{
int Dif = L[ind[1]] - D[ind[1]], sol = -INF;
for (int ii = 2; ii <= N; ++ ii)
{
int i = ind[ii];
sol = max (sol, D[i] + L[i] + Dif);
Dif = max (Dif, L[i] - D[i]);
}
printf ("%d\n", sol);
}
int
main ()
{
freopen (FIN, "rt", stdin);
freopen (FOUT, "wt", stdout);
read ();
solve ();
return 0;
}