135112025-01-08 09:06:40feheristvanTalálkozáscpp17Hibás válasz 0/5575ms1260 KiB
#include <iostream>
#include <vector>

using namespace std;

int main()
{
    int n;
    int megy[100000] = {0};
    int jon[100000] = {0};
    int x, y, maxx = 0;
    cin >> n;
    for(int i = 0; i < n ; i ++){
        cin >> x >> y;
        jon[x] ++;
        megy[y] ++;
    }
    maxx = y;
    int lx = 0, ly = 100001, j = 0, ossz;
    bool t = 1;
    for(int i = 1 ; i <= maxx; i ++){
        while(j < maxx and ossz < (n + 1) / 2){
            j ++;
            ossz += jon[j];
        }
        if(j == maxx and ossz < (n + 1) / 2){
            t = 0;
        }
        if(j - i + 1 < ly - lx + 1 and ossz >= (n + 1) / 2 and t){
            ly = j;
            lx = i;
        }
        ossz -= megy[i];
    }
    cout << ly - lx + 1 << endl;
    cout <<lx << " " << ly;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/55
1Hibás válasz0/02ms1076 KiB
2Hibás válasz0/067ms1076 KiB
3Hibás válasz0/21ms1080 KiB
4Hibás válasz0/22ms1260 KiB
5Hibás válasz0/21ms1076 KiB
6Hibás válasz0/22ms1076 KiB
7Hibás válasz0/22ms1076 KiB
8Hibás válasz0/32ms1076 KiB
9Hibás válasz0/31ms1076 KiB
10Hibás válasz0/32ms1180 KiB
11Hibás válasz0/34ms1076 KiB
12Hibás válasz0/38ms1260 KiB
13Hibás válasz0/38ms1076 KiB
14Hibás válasz0/313ms1180 KiB
15Hibás válasz0/314ms1176 KiB
16Hibás válasz0/313ms1176 KiB
17Hibás válasz0/313ms1076 KiB
18Hibás válasz0/320ms1180 KiB
19Hibás válasz0/375ms1176 KiB
20Hibás válasz0/363ms1172 KiB
21Hibás válasz0/367ms1176 KiB
22Hibás válasz0/365ms1076 KiB