Pagini recente » Cod sursa (job #354515) | Cod sursa (job #822678) | Cod sursa (job #2349313) | Cod sursa (job #114231) | Cod sursa (job #2622026)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("orase.in");
ofstream fout("orase.out");
vector<pair<int, int>> v;
int main() {
int M, N, D, L;
fin >> M >> N;
for (int i = 0; i < N; ++i) {
fin >> D >> L;
v.push_back({ D,L });
}
sort(v.begin(), v.end(), [&](pair<int, int> a, pair<int, int> b) {
return a.first < b.first;
});
int sum1 = v[0].second - v[0].first, sum2;
int sum, sumMax = 0;
for (int i = 1; i < N; ++i) {
sum = 0;
sum2 = v[i].second - v[i].first;
if (sum2 > sum1) {
sum = v[i].second + v[i].first + sum2;
sum1 = sum2;
}
else {
sum = v[i].second + v[i].first + sum1;
}
if (sum > sumMax) {
sumMax = sum;
}
}
fout << sumMax;
fin.close(); fout.close();
return 0;
}