128292025-01-01 23:51:03BucsMateTalálkozáscpp17Wrong answer 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;
}
SubtaskSumTestVerdictTimeMemory
base50/55
1Accepted0/01ms320 KiB
2Accepted0/064ms1080 KiB
3Wrong answer0/22ms320 KiB
4Accepted2/22ms320 KiB
5Accepted2/21ms320 KiB
6Accepted2/22ms512 KiB
7Accepted2/21ms508 KiB
8Accepted3/31ms320 KiB
9Accepted3/31ms320 KiB
10Accepted3/31ms320 KiB
11Accepted3/36ms664 KiB
12Accepted3/37ms612 KiB
13Accepted3/37ms568 KiB
14Accepted3/313ms816 KiB
15Accepted3/313ms568 KiB
16Accepted3/312ms568 KiB
17Accepted3/313ms764 KiB
18Accepted3/320ms1172 KiB
19Wrong answer0/367ms636 KiB
20Accepted3/359ms420 KiB
21Accepted3/364ms1080 KiB
22Accepted3/364ms1080 KiB