130512025-01-05 12:14:35szabelrTalálkozáscpp17Hibás válasz 3/5571ms1124 KiB
#include <iostream>
using namespace std;
int erk[100001]{ 0 };
int tav[100001]{ 0 };
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;
        
    }
    /*for (int i = 1; i <= max; i++) {
        cout << erk[i] << " ";
    }
    cout << endl;
    for (int i = 1; i <= max; i++) {
        cout << tav[i] << " ";
    }*/
    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 and ossz < (n + 1) / 2) {
            joe = 0;
        }

        //cout << "veg:" << veg << " kez:" << kez << endl;
        if (veg - kez < db and joe==1) {
            db = veg - kez;
            kezjo = kez;
            vegjo = veg;
        }
        ossz = ossz-tav[kez];
        //cout << "ossz:" << ossz << endl;
        kez++;
        
    }
    cout << db+1 << endl;
    cout << kezjo << " " << vegjo;

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base3/55
1Elfogadva0/01ms508 KiB
2Hibás válasz0/071ms1076 KiB
3Hibás válasz0/21ms320 KiB
4Hibás válasz0/21ms320 KiB
5Hibás válasz0/21ms356 KiB
6Hibás válasz0/21ms320 KiB
7Hibás válasz0/21ms320 KiB
8Hibás válasz0/31ms320 KiB
9Hibás válasz0/31ms400 KiB
10Hibás válasz0/31ms400 KiB
11Hibás válasz0/34ms752 KiB
12Hibás válasz0/37ms572 KiB
13Hibás válasz0/37ms568 KiB
14Hibás válasz0/313ms740 KiB
15Hibás válasz0/313ms664 KiB
16Hibás válasz0/312ms752 KiB
17Hibás válasz0/313ms612 KiB
18Hibás válasz0/320ms1124 KiB
19Hibás válasz0/367ms784 KiB
20Elfogadva3/359ms320 KiB
21Hibás válasz0/364ms1084 KiB
22Hibás válasz0/364ms1080 KiB