128302025-01-01 23:58:40BucsMateTalálkozáscpp17Elfogadva 55/5571ms1084 KiB
#include <iostream>

using namespace std;

int jon[100001] = {};
int megy[100001] = {};

int main()
{
    int N;
    cin >> N;
    for(int i = 0; i < N; i++){
        int a, b;
        cin >> a >> b;
        jon[a]++;
        megy[b]++;
    }

    int index_1 = 1, index_2 = 1, goal = N/2 + N%2, currNr = 0, minTime = 9999999;
    currNr += jon[1];
    int indexStart, indexEnd;

    for(index_1 = 1; index_1 <= 100000; index_1++){
        if(index_2 < index_1){
            index_2++;
        }
        while(currNr < goal && index_2 < 100000){
            index_2++;
            currNr += jon[index_2];
        }
        if(minTime > index_2 - index_1 + 1 && currNr >= goal){
            minTime = index_2 - index_1 + 1;
            indexStart = index_1;
            indexEnd = index_2;
        }
        currNr -= megy[index_1];
    }

    cout << minTime << endl;
    cout << indexStart << " " << indexEnd << endl;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/01ms320 KiB
2Elfogadva0/065ms1080 KiB
3Elfogadva2/22ms320 KiB
4Elfogadva2/22ms320 KiB
5Elfogadva2/21ms420 KiB
6Elfogadva2/22ms448 KiB
7Elfogadva2/22ms320 KiB
8Elfogadva3/31ms320 KiB
9Elfogadva3/32ms468 KiB
10Elfogadva3/32ms404 KiB
11Elfogadva3/34ms568 KiB
12Elfogadva3/37ms604 KiB
13Elfogadva3/37ms568 KiB
14Elfogadva3/313ms784 KiB
15Elfogadva3/313ms568 KiB
16Elfogadva3/313ms760 KiB
17Elfogadva3/313ms800 KiB
18Elfogadva3/320ms1080 KiB
19Elfogadva3/368ms752 KiB
20Elfogadva3/359ms412 KiB
21Elfogadva3/371ms1084 KiB
22Elfogadva3/365ms1060 KiB