128292025-01-01 23:51:03BucsMateTalálkozáscpp17Hibás válasz 50/5567ms1172 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++){
        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
base50/55
1Elfogadva0/01ms320 KiB
2Elfogadva0/064ms1080 KiB
3Hibás válasz0/22ms320 KiB
4Elfogadva2/22ms320 KiB
5Elfogadva2/21ms320 KiB
6Elfogadva2/22ms512 KiB
7Elfogadva2/21ms508 KiB
8Elfogadva3/31ms320 KiB
9Elfogadva3/31ms320 KiB
10Elfogadva3/31ms320 KiB
11Elfogadva3/36ms664 KiB
12Elfogadva3/37ms612 KiB
13Elfogadva3/37ms568 KiB
14Elfogadva3/313ms816 KiB
15Elfogadva3/313ms568 KiB
16Elfogadva3/312ms568 KiB
17Elfogadva3/313ms764 KiB
18Elfogadva3/320ms1172 KiB
19Hibás válasz0/367ms636 KiB
20Elfogadva3/359ms420 KiB
21Elfogadva3/364ms1080 KiB
22Elfogadva3/364ms1080 KiB