Cod sursa(job #2929775)

Utilizator AleXutzZuDavid Alex Robert AleXutzZu Data 26 octombrie 2022 20:29:44
Problema Orase Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#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;
}