Pagini recente » Cod sursa (job #1936039) | Cod sursa (job #461424) | Cod sursa (job #2429897) | Cod sursa (job #768996) | Cod sursa (job #3304709)
//#include <iostream>
#include <fstream>
#include <algorithm>
#include <cmath>
using namespace std;
ifstream cin("orase.in");
ofstream cout("orase.out");
int m, n, x, y, maxim;
pair<int, int> v[50005];
int distanta(pair<int, int> a, pair<int, int> b) {
return a.second + abs(b.first - a.first) + b.second;
}
int main() {
cin >> m >> n;
for(int i = 1; i <= n; i ++) {
cin >> x >> y;
v[i] = {x, y};
}
sort(v+1, v+n+1);
int cmd = 1; // cel mai departat
for(int i = 2; i <= n; i ++) {
if(distanta(v[i], v[cmd]) > maxim)
maxim = distanta(v[i], v[cmd]);
// este v[i] cel mai departat acum?
if(v[i].second > v[cmd].second + (v[i].first - v[cmd].first)) {
// v[i] este mai departat decat v[cmd]
cmd = i;
}
}
cout << maxim << '\n';
return 0;
}