Pagini recente » Cod sursa (job #45187) | Cod sursa (job #1871111) | Cod sursa (job #3229884) | Cod sursa (job #1413256) | Cod sursa (job #2929775)
#include <iostream>
#include <fstream>
#define MAX_SIZE 1000000
int main() {
std::ifstream input("orase.in");
std::ofstream output("orase.out");
int n, m;
input >> m >> n;
int street[MAX_SIZE] = {0};
for (int i = 0; i < n; ++i) {
int d, l;
input >> d >> l;
if (street[d] == 0) street[d] = l;
else street[d] = std::max(l, street[d]);
}
unsigned long long ans = 0;
for (int i = 0; i <= m; ++i) {
if (street[i]) {
unsigned long long sum = street[i];
int j = i;
while (j < m && street[j + 1] == 0) j++, sum++;
if (j + 1 > m) sum = -1;
else sum += street[j + 1] + 1;
ans = std::max(ans, sum);
i = j;
}
}
output << ans;
return 0;
}