Pagini recente » Cod sursa (job #46027) | Cod sursa (job #1699782)
#include <iostream>
#include <fstream>
#include <chrono>
#include <vector>
using namespace std;
using namespace std::chrono;
#define M 1000001
int roads[M];
int main() {
ifstream in("orase.in");
ofstream out("orase.out");
int m, n;
in>>m>>n;
int li, di;
for (int i = 0; i < n; ++i) {
in>>di>>li;
if (roads[di] < li) {
roads[di] = li;
}
}
int maxDist;
int result = -1;
int i;
for (i = 0; i <= m; ++i) {
if ( roads[i] > 0) {
maxDist = i + roads[i];
break;
}
}
for (i = i + 1; i <= m; ++i) {
maxDist++;
if ( roads[i] > 0 ) {
if (roads[i] + maxDist > result) {
result = roads[i] + maxDist;
}
if (roads[i] > maxDist) {
maxDist = roads[i];
}
}
}
out<<result;
out.close();
}