1693 2022. 12. 01 15:50:25 kovacs.peter.18f Találkozás cpp11 Elfogadva 55/55 34ms 5820 KiB
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

int main() {
    cin.sync_with_stdio(false);
    cin.tie(nullptr);

    int N;
    cin >> N;
    vector<int> arriveS(N), leaveS(N);
    for (int i = 0; i < N; i++) {
        cin >> arriveS[i] >> leaveS[i];
    }
    sort(arriveS.begin(), arriveS.end());
    sort(leaveS.begin(), leaveS.end());
    int min_begin = -1, min_end, count = 0, a_index = 0, l_index = 0;
    for (int l = 0, r = 0; l <= 100000; l++) {
        // r: időintervallum vége (nyílt)
        while (r == l || r <= 100000 && count * 2 < N) {
            while (a_index < N && arriveS[a_index] == r) {
                ++a_index;
                ++count;
            }
            ++r;
        }
        // l: időintervallum eleje (zárt)
        if (count * 2 >= N && (min_begin == -1 || min_end - min_begin > r - l)) {
            min_begin = l;
            min_end = r;
        }
        while (l_index < N && leaveS[l_index] == l) {
            ++l_index;
            --count;
        }
    }
    cout << min_end - min_begin << '\n' << min_begin << " " << min_end - 1 << '\n';
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 55/55
1 Elfogadva 0/0 3ms 1832 KiB
2 Elfogadva 0/0 34ms 3484 KiB
3 Elfogadva 2/2 3ms 2348 KiB
4 Elfogadva 2/2 3ms 2432 KiB
5 Elfogadva 2/2 2ms 2648 KiB
6 Elfogadva 2/2 2ms 2720 KiB
7 Elfogadva 2/2 3ms 2852 KiB
8 Elfogadva 3/3 2ms 2912 KiB
9 Elfogadva 3/3 3ms 3036 KiB
10 Elfogadva 3/3 3ms 3244 KiB
11 Elfogadva 3/3 4ms 3644 KiB
12 Elfogadva 3/3 4ms 3620 KiB
13 Elfogadva 3/3 4ms 3876 KiB
14 Elfogadva 3/3 8ms 4012 KiB
15 Elfogadva 3/3 8ms 4140 KiB
16 Elfogadva 3/3 8ms 4212 KiB
17 Elfogadva 3/3 8ms 4220 KiB
18 Elfogadva 3/3 12ms 4468 KiB
19 Elfogadva 3/3 27ms 5492 KiB
20 Elfogadva 3/3 24ms 5748 KiB
21 Elfogadva 3/3 34ms 5700 KiB
22 Elfogadva 3/3 32ms 5820 KiB