16792022-12-01 15:38:31kovacs.peter.18fTalálkozáscpp11Hibás válasz 46/5535ms5528 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 <= 100000 && count < N / 2) {
            while (a_index < N && arriveS[a_index] <= r) {
                ++a_index;
                ++count;
            }
            ++r;
        }
        // l: időintervallum eleje (zárt)
        if (count >= N / 2 && (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ÖsszpontTesztVerdiktIdőMemória
base46/55
1Elfogadva0/03ms1980 KiB
2Elfogadva0/034ms3508 KiB
3Hibás válasz0/23ms2196 KiB
4Hibás válasz0/22ms2276 KiB
5Hibás válasz0/22ms2272 KiB
6Elfogadva2/22ms2400 KiB
7Elfogadva2/23ms2636 KiB
8Elfogadva3/33ms2936 KiB
9Elfogadva3/32ms2948 KiB
10Elfogadva3/32ms3036 KiB
11Elfogadva3/34ms3328 KiB
12Elfogadva3/34ms3544 KiB
13Elfogadva3/34ms3376 KiB
14Elfogadva3/38ms3720 KiB
15Elfogadva3/38ms3692 KiB
16Elfogadva3/38ms3820 KiB
17Elfogadva3/38ms4028 KiB
18Elfogadva3/312ms4288 KiB
19Hibás válasz0/327ms5312 KiB
20Elfogadva3/325ms5312 KiB
21Elfogadva3/335ms5308 KiB
22Elfogadva3/335ms5528 KiB