16702022-12-01 15:01:41kovacs.peter.18fTalálkozáscpp11Wrong answer 41/5534ms4820 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 = 0, 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 < 100001 && 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';
}
SubtaskSumTestVerdictTimeMemory
base41/55
1Accepted0/03ms1700 KiB
2Wrong answer0/034ms3328 KiB
3Wrong answer0/23ms2180 KiB
4Partially correct1/22ms2144 KiB
5Accepted2/22ms2148 KiB
6Accepted2/22ms2152 KiB
7Accepted2/23ms2280 KiB
8Accepted3/32ms2340 KiB
9Accepted3/33ms2580 KiB
10Accepted3/33ms2768 KiB
11Accepted3/34ms3180 KiB
12Accepted3/34ms3056 KiB
13Accepted3/34ms3316 KiB
14Accepted3/38ms3440 KiB
15Partially correct1/38ms3444 KiB
16Accepted3/38ms3444 KiB
17Partially correct1/38ms3632 KiB
18Accepted3/312ms3840 KiB
19Wrong answer0/326ms4784 KiB
20Accepted3/324ms4784 KiB
21Partially correct1/332ms4784 KiB
22Partially correct1/334ms4820 KiB