135232025-01-08 09:22:42feheristvanTalálkozáscpp17Elfogadva 55/5567ms1160 KiB
#include <iostream>
using namespace std;

int erk[100001]{ 0 }; // Count occurrences for the first value
int tav[100001]{ 0 }; // Count occurrences for the second value

int main() {
    int n, max = 0, a, b;
    cin >> n;

    for (int i = 1; i <= n; i++) {
        cin >> a >> b;
        erk[a]++;
        tav[b]++;
        if (b > max)
            max = b;
    }

    int kez = 1, veg = 0, ossz = 0, kezjo, vegjo, db = 1000001, joe = 1;

    while (kez <= max) {
        while (ossz < ((n + 1) / 2) && veg < max) {
            veg++;
            ossz += erk[veg];
        }
        if (veg == max && ossz < (n + 1) / 2) {
            joe = 0;
        }
        if (veg - kez + 1 < db && joe == 1 && veg - kez + 1 > 0) {
            db = veg - kez + 1;
            kezjo = kez;
            vegjo = veg;
        }
        ossz -= tav[kez];
        kez++;
    }

    cout << db << endl;
    cout << kezjo << " " << vegjo;

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/01ms500 KiB
2Elfogadva0/064ms1072 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva3/31ms316 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/34ms568 KiB
12Elfogadva3/37ms740 KiB
13Elfogadva3/37ms800 KiB
14Elfogadva3/313ms588 KiB
15Elfogadva3/313ms740 KiB
16Elfogadva3/312ms564 KiB
17Elfogadva3/312ms712 KiB
18Elfogadva3/320ms940 KiB
19Elfogadva3/367ms692 KiB
20Elfogadva3/359ms412 KiB
21Elfogadva3/364ms1084 KiB
22Elfogadva3/364ms1160 KiB