145972025-01-19 17:47:40farkasrekaLeghosszabb béke (75 pont)cpp17Elfogadva 75/7579ms1152 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main() {
    int N, M;
    cin >> N >> M;
    
    vector<pair<int, int>> a(M);
    for (int i = 0; i < M; i++) {
        cin >> a[i].first >> a[i].second;
    }

    sort(a.begin(), a.end());

    vector<pair<int, int>> b;
    b.push_back(a[0]);

    for (int i = 1; i < M; i++) {
        auto& elozo = b.back();
        auto most = a[i];
        if (elozo.second >= most.first) {
            elozo.second = max(most.second, elozo.second);
        } else {
            b.push_back(most);
        }
    }

    int eleje = 1;
    int max_hossz = b[0].first - 1;
    for (int j = 1; j < b.size(); j++) {
        int hossz = b[j].first - b[j - 1].second - 1;
        if (hossz > max_hossz) {
            max_hossz = hossz;
            eleje = b[j - 1].second + 1;
        }
    }

    int hossz = N - b.back().second;
    if (hossz > max_hossz) {
        max_hossz = hossz;
        eleje = b.back().second + 1;
    }

    if (max_hossz == 0) {
        cout << -1 << endl;
    } else {
        cout << max_hossz << " " << eleje << endl;
    }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base75/75
1Elfogadva0/01ms512 KiB
2Elfogadva0/079ms1076 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva4/41ms316 KiB
9Elfogadva4/41ms352 KiB
10Elfogadva4/41ms316 KiB
11Elfogadva4/44ms448 KiB
12Elfogadva4/47ms356 KiB
13Elfogadva4/44ms436 KiB
14Elfogadva4/44ms440 KiB
15Elfogadva4/47ms316 KiB
16Elfogadva4/47ms460 KiB
17Elfogadva4/47ms316 KiB
18Elfogadva4/48ms500 KiB
19Elfogadva4/471ms1120 KiB
20Elfogadva4/474ms1152 KiB
21Elfogadva4/471ms1076 KiB
22Elfogadva4/474ms1140 KiB