217142026-01-13 18:22:34mikloshunorTalálkozáscpp17Hibás válasz 18/5568ms1308 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 = n;
    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
base18/55
1Elfogadva0/02ms1076 KiB
2Elfogadva0/067ms1076 KiB
3Elfogadva2/22ms1296 KiB
4Elfogadva2/21ms1260 KiB
5Elfogadva2/22ms1084 KiB
6Hibás válasz0/22ms1308 KiB
7Hibás válasz0/22ms1076 KiB
8Hibás válasz0/31ms1076 KiB
9Hibás válasz0/32ms1080 KiB
10Hibás válasz0/32ms1076 KiB
11Hibás válasz0/36ms1076 KiB
12Hibás válasz0/37ms1076 KiB
13Hibás válasz0/37ms1076 KiB
14Hibás válasz0/313ms1200 KiB
15Hibás válasz0/313ms1196 KiB
16Hibás válasz0/313ms1200 KiB
17Hibás válasz0/314ms1192 KiB
18Hibás válasz0/320ms1196 KiB
19Elfogadva3/368ms1196 KiB
20Elfogadva3/361ms1192 KiB
21Elfogadva3/365ms1196 KiB
22Elfogadva3/365ms1076 KiB