217212026-01-13 18:24:51mikloshunorTalálkozáscpp17Elfogadva 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/02ms1076 KiB
2Elfogadva0/068ms1196 KiB
3Elfogadva2/22ms1076 KiB
4Elfogadva2/22ms1076 KiB
5Elfogadva2/22ms1080 KiB
6Elfogadva2/22ms1076 KiB
7Elfogadva2/22ms1076 KiB
8Elfogadva3/31ms1076 KiB
9Elfogadva3/32ms1140 KiB
10Elfogadva3/32ms1076 KiB
11Elfogadva3/34ms1076 KiB
12Elfogadva3/38ms1156 KiB
13Elfogadva3/38ms1200 KiB
14Elfogadva3/313ms1076 KiB
15Elfogadva3/314ms1076 KiB
16Elfogadva3/313ms1204 KiB
17Elfogadva3/313ms1076 KiB
18Elfogadva3/321ms1196 KiB
19Elfogadva3/370ms1076 KiB
20Elfogadva3/363ms1268 KiB
21Elfogadva3/368ms1268 KiB
22Elfogadva3/368ms1200 KiB