70972023-12-30 11:55:52MagyarKendeSZLGLeghosszabb béke (75 pont)cpp17Hibás válasz 0/7564ms9772 KiB
#include <bits/stdc++.h>

#define speed cin.tie(0); ios::sync_with_stdio(0)
#define cinv(v) for (auto& e : v) cin >> e;
#define all(v) v.begin(), v.end()
#define has(s, e) s.count(e)

using namespace std;
using ll = long long;
using point = array<int, 2>;

int main() {
    speed;

    int N, M;
    cin >> N >> M;
    map<int, int> from;
    while (M--) {
        int a, b;
        cin >> a >> b;
        from[a] = max(from[a], b);
    }
    from[N] = N;

    point result = {0, 0};
    int pos = 1;

    for (auto [e, v] : from) {
        if (pos == N) break;
        if (pos < e) {
            if (result[0] < e - pos - 1) {
                result[0] = e - pos - 1;
                result[1] = pos + 1;
            }
        }
        pos = max(pos, v);
    }

    cout << result[0] << '\n' << result[1];
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/75
1Hibás válasz0/03ms1832 KiB
2Hibás válasz0/064ms6708 KiB
3Hibás válasz0/33ms3404 KiB
4Hibás válasz0/33ms3376 KiB
5Hibás válasz0/33ms3512 KiB
6Hibás válasz0/33ms3724 KiB
7Hibás válasz0/33ms3940 KiB
8Hibás válasz0/43ms4032 KiB
9Hibás válasz0/43ms4264 KiB
10Hibás válasz0/43ms4356 KiB
11Hibás válasz0/46ms4880 KiB
12Hibás válasz0/47ms5124 KiB
13Hibás válasz0/44ms4944 KiB
14Hibás válasz0/46ms5140 KiB
15Hibás válasz0/47ms5256 KiB
16Hibás válasz0/46ms5164 KiB
17Hibás válasz0/46ms5508 KiB
18Hibás válasz0/44ms5436 KiB
19Hibás válasz0/459ms9772 KiB
20Hibás válasz0/443ms7552 KiB
21Hibás válasz0/428ms8356 KiB
22Hibás válasz0/443ms9664 KiB