165852025-05-06 19:12:43GervidFőnökszámcpp17Hibás válasz 40/100196ms11096 KiB
#include <bits/stdc++.h>
using namespace std;
using pii = pair<int,int>;

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int N;
    cin >> N;
    multiset<pii> S;
    for(int i = 0; i < N; i++){
        int a, b;
        cin >> a >> b;

        // 1) Dominál-e minket valaki már meglévő, nagyobb 'a'-val és 'b'-vel?
        auto it_dom = S.upper_bound({a, numeric_limits<int>::max()});
        if(it_dom != S.end() && it_dom->second > b){
            // domináltak vagyunk → nem leszünk főnök
            cout << S.size() << "\n";
            continue;
        }

        // 2) Beszúrás: mi is főnökök leszünk
        S.insert({a,b});

        // 3) Törlés: balra végig az összes (a'<a és b'<b) pontot töröljük
        auto it_ge = S.lower_bound({a, numeric_limits<int>::min()});
        if(it_ge != S.begin()){
            auto it_prev = prev(it_ge);
            // amíg dominálható balról, törlünk
            while(true){
                if(it_prev->first < a && it_prev->second < b){
                    auto it_erase = it_prev;
                    if(it_prev == S.begin()){
                        S.erase(it_erase);
                        break;
                    } else {
                        it_prev = prev(it_prev);
                        S.erase(it_erase);
                    }
                } else {
                    break;
                }
            }
        }

        cout << S.size() << "\n";
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva1ms316 KiB
2Hibás válasz32ms684 KiB
subtask25/5
3Elfogadva1ms500 KiB
4Elfogadva1ms316 KiB
5Elfogadva1ms316 KiB
6Elfogadva4ms316 KiB
subtask30/10
7Elfogadva1ms316 KiB
8Elfogadva1ms316 KiB
9Elfogadva1ms316 KiB
10Elfogadva1ms316 KiB
11Hibás válasz1ms316 KiB
12Elfogadva1ms420 KiB
13Elfogadva2ms424 KiB
14Elfogadva2ms316 KiB
subtask410/10
15Elfogadva1ms356 KiB
16Elfogadva1ms316 KiB
17Elfogadva1ms368 KiB
18Elfogadva2ms316 KiB
19Elfogadva4ms316 KiB
20Elfogadva7ms616 KiB
21Elfogadva7ms316 KiB
22Elfogadva74ms5500 KiB
subtask525/25
23Elfogadva1ms316 KiB
24Elfogadva1ms316 KiB
25Elfogadva2ms316 KiB
26Elfogadva2ms508 KiB
27Elfogadva16ms464 KiB
28Elfogadva25ms444 KiB
29Elfogadva30ms460 KiB
30Elfogadva32ms568 KiB
subtask60/50
31Elfogadva1ms316 KiB
32Hibás válasz32ms684 KiB
33Elfogadva1ms500 KiB
34Elfogadva1ms316 KiB
35Elfogadva1ms316 KiB
36Elfogadva4ms316 KiB
37Elfogadva1ms316 KiB
38Elfogadva1ms316 KiB
39Elfogadva1ms316 KiB
40Elfogadva1ms316 KiB
41Hibás válasz1ms316 KiB
42Elfogadva1ms420 KiB
43Elfogadva2ms424 KiB
44Elfogadva2ms316 KiB
45Elfogadva1ms356 KiB
46Elfogadva1ms316 KiB
47Elfogadva1ms368 KiB
48Elfogadva2ms316 KiB
49Elfogadva4ms316 KiB
50Elfogadva7ms616 KiB
51Elfogadva7ms316 KiB
52Elfogadva74ms5500 KiB
53Elfogadva1ms316 KiB
54Elfogadva1ms316 KiB
55Elfogadva2ms316 KiB
56Elfogadva2ms508 KiB
57Elfogadva16ms464 KiB
58Elfogadva25ms444 KiB
59Elfogadva30ms460 KiB
60Elfogadva32ms568 KiB
61Hibás válasz2ms500 KiB
62Hibás válasz3ms316 KiB
63Elfogadva2ms316 KiB
64Elfogadva34ms2908 KiB
65Hibás válasz2ms508 KiB
66Hibás válasz2ms316 KiB
67Hibás válasz2ms316 KiB
68Hibás válasz2ms500 KiB
69Hibás válasz30ms784 KiB
70Elfogadva196ms11096 KiB