Pagini recente » Cod sursa (job #2504956) | Cod sursa (job #37771) | Cod sursa (job #274690) | Cod sursa (job #475613) | Cod sursa (job #1701083)
#include <fstream>
#include <cmath>
#include <algorithm>
using namespace std;
ifstream f("orase.in");
ofstream g("orase.out");
struct o
{
int d, l;
}a[50001];
int n, m, i, Max = -2147483647, k = -2147483647;
bool dif(o a, o b)
{
return a.d < b.d;
}
int main()
{
f >> m >> n;
for (i = 1; i <= n; i++)
f >> a[i].d >> a[i].l;
sort(a+1, a+n+1, dif);
for (i = 1; i <= n; i++)
{
if (a[i].d+a[i].l+k > Max)
Max = a[i].d+a[i].l+k;
if (k < a[i].l - a[i].d)
k = a[i].l - a[i].d;
}
g << Max;
return 0;
}