Cod sursa(job #3361006)

Utilizator razviii237Uzum Razvan razviii237 Data 18 iulie 2026 14:31:50
Problema Orase Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("orase.in");
ofstream fout("orase.out");
long long n, m, maxim;
pair<int, int> orase[50005], celMaiDepartat;
int main() {
    fin >> m >> n;
    for (int i = 1; i <= n; i ++) {
        fin >> orase[i].first >> orase[i].second;
    }
    sort(orase + 1, orase + n + 1);
    celMaiDepartat = orase[1];
    for (int i = 2; i <= n; i ++) {
        if (orase[i].second + (orase[i].first - celMaiDepartat.first) + celMaiDepartat.second > maxim) {
            maxim = orase[i].second + (orase[i].first - celMaiDepartat.first) + celMaiDepartat.second;
        }
        if (orase[i].second > (orase[i].first - celMaiDepartat.first) + celMaiDepartat.second) {
            celMaiDepartat = orase[i];
        }
    }
    fout << maxim;
}



/*

M=5 (lungimea strazii) N=4 (strazi)

0 3
2 2
2 7 CelMaiDepartat
5 6


*/