217212026-01-13 18:24:51mikloshunorTalálkozáscpp17Accepted 55/5570ms1268 KiB
#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int n;
    cin >> n;
    vector <int> erkezes (100001, 0);
    vector <int> tavozas (100001, 0);
    int x, y, maxi = 0;
    for (int i = 0; i < n; i++)
    {
        cin >> x >> y;
        erkezes [x]++;
        tavozas [y + 1]++;
        if (y > maxi)
        {
            maxi = y;
        }
    }
    maxi++;
    for (int i = 1; i <= maxi; i++)
    {
        erkezes[i]+= erkezes[i - 1];
        tavozas[i]+= tavozas[i - 1];
    }
    int start = 1, stop = 1;
    int okstart = 0, okstop = maxi;
    int kozep = (n % 2 == 0 ? kozep = n / 2 : kozep = n / 2 + 1);
    while (stop <= maxi && start <= stop)
    {
        if (erkezes[stop] - tavozas[start] < kozep)
        {
            stop++;
        }
        else
        {
            if (stop - start < okstop - okstart)
            {
                okstop = stop;
                okstart = start;
            }
            start++;
        }
    }
    cout << okstop - okstart + 1 << endl << okstart << " " << okstop;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base55/55
1Accepted0/02ms1076 KiB
2Accepted0/068ms1196 KiB
3Accepted2/22ms1076 KiB
4Accepted2/22ms1076 KiB
5Accepted2/22ms1080 KiB
6Accepted2/22ms1076 KiB
7Accepted2/22ms1076 KiB
8Accepted3/31ms1076 KiB
9Accepted3/32ms1140 KiB
10Accepted3/32ms1076 KiB
11Accepted3/34ms1076 KiB
12Accepted3/38ms1156 KiB
13Accepted3/38ms1200 KiB
14Accepted3/313ms1076 KiB
15Accepted3/314ms1076 KiB
16Accepted3/313ms1204 KiB
17Accepted3/313ms1076 KiB
18Accepted3/321ms1196 KiB
19Accepted3/370ms1076 KiB
20Accepted3/363ms1268 KiB
21Accepted3/368ms1268 KiB
22Accepted3/368ms1200 KiB