Cod sursa(job #2929810)

Utilizator AleXutzZuDavid Alex Robert AleXutzZu Data 26 octombrie 2022 21:29:36
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>
#include <algorithm>

#define MAX_SIZE 100001


int main() {
    std::ifstream input("orase.in");
    std::ofstream output("orase.out");

    int n, m;
    input >> m >> n;
    std::pair<int, int> cities[MAX_SIZE] = {};

    for (int i = 0; i < n; ++i) {
        input >> cities[i].first >> cities[i].second;
    }


    std::sort(cities, cities + n, [](const std::pair<int, int> &a, const std::pair<int, int> &b) {
        return a.first < b.first;
    });

    long long ans = 0;
    int best = 0;
    for (int i = 1; i < n; ++i) {
        long long candidate = cities[i].first + cities[i].second - cities[best].first + cities[best].second;

        ans = std::max(candidate, ans);

        if (-cities[i].first + cities[i].second > -cities[best].first + cities[best].second) best = i;
    }

    output << ans;
    return 0;
}