7651 2024. 01. 10 10:37:17 Ablablabla Találkozás cpp17 Elfogadva 55/55 71ms 5116 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int, int> pii;

const int INF = 2e9 + 7;
const int MAXN = 1e5 + 5;

int main(){
    int n;
    cin >> n;

    vector<int> jon(MAXN);
    vector<int> megy(MAXN);
    int maxi = 0;
    for(int i = 0; i < n; i++){
        int a, b;
        cin >> a >> b;

        jon[a]++;
        megy[b]++;

        maxi = max(maxi, b);
    }

    int elso = 0, masodik = 1;
    int benne = jon[1];
    int cel = n / 2 + (n % 2);
    int mini = INF;
    pii megoldas;
    while(elso <= masodik && masodik < maxi){
        if(benne >= cel){
            if(mini > masodik - elso + 1){
                mini = masodik - elso + 1;
                megoldas = {elso, masodik};
            }
            benne -= megy[elso];
            elso++;
        } else if(benne < cel){
            masodik++;
            benne += jon[masodik];
        }
    }

    cout << mini << "\n" << megoldas.first << " " << megoldas.second << "\n";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 55/55
1 Elfogadva 0/0 4ms 3168 KiB
2 Elfogadva 0/0 68ms 3380 KiB
3 Elfogadva 2/2 3ms 3596 KiB
4 Elfogadva 2/2 3ms 3944 KiB
5 Elfogadva 2/2 3ms 3816 KiB
6 Elfogadva 2/2 3ms 4056 KiB
7 Elfogadva 2/2 3ms 4124 KiB
8 Elfogadva 3/3 3ms 4220 KiB
9 Elfogadva 3/3 3ms 4192 KiB
10 Elfogadva 3/3 3ms 4396 KiB
11 Elfogadva 3/3 7ms 4592 KiB
12 Elfogadva 3/3 8ms 4568 KiB
13 Elfogadva 3/3 8ms 4784 KiB
14 Elfogadva 3/3 14ms 4756 KiB
15 Elfogadva 3/3 14ms 4768 KiB
16 Elfogadva 3/3 14ms 4768 KiB
17 Elfogadva 3/3 14ms 4984 KiB
18 Elfogadva 3/3 23ms 4940 KiB
19 Elfogadva 3/3 71ms 4828 KiB
20 Elfogadva 3/3 63ms 4832 KiB
21 Elfogadva 3/3 68ms 5116 KiB
22 Elfogadva 3/3 68ms 4980 KiB