#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;
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Wrong answer | 32ms | 684 KiB | ||||
| subtask2 | 5/5 | ||||||
| 3 | Accepted | 1ms | 500 KiB | ||||
| 4 | Accepted | 1ms | 316 KiB | ||||
| 5 | Accepted | 1ms | 316 KiB | ||||
| 6 | Accepted | 4ms | 316 KiB | ||||
| subtask3 | 0/10 | ||||||
| 7 | Accepted | 1ms | 316 KiB | ||||
| 8 | Accepted | 1ms | 316 KiB | ||||
| 9 | Accepted | 1ms | 316 KiB | ||||
| 10 | Accepted | 1ms | 316 KiB | ||||
| 11 | Wrong answer | 1ms | 316 KiB | ||||
| 12 | Accepted | 1ms | 420 KiB | ||||
| 13 | Accepted | 2ms | 424 KiB | ||||
| 14 | Accepted | 2ms | 316 KiB | ||||
| subtask4 | 10/10 | ||||||
| 15 | Accepted | 1ms | 356 KiB | ||||
| 16 | Accepted | 1ms | 316 KiB | ||||
| 17 | Accepted | 1ms | 368 KiB | ||||
| 18 | Accepted | 2ms | 316 KiB | ||||
| 19 | Accepted | 4ms | 316 KiB | ||||
| 20 | Accepted | 7ms | 616 KiB | ||||
| 21 | Accepted | 7ms | 316 KiB | ||||
| 22 | Accepted | 74ms | 5500 KiB | ||||
| subtask5 | 25/25 | ||||||
| 23 | Accepted | 1ms | 316 KiB | ||||
| 24 | Accepted | 1ms | 316 KiB | ||||
| 25 | Accepted | 2ms | 316 KiB | ||||
| 26 | Accepted | 2ms | 508 KiB | ||||
| 27 | Accepted | 16ms | 464 KiB | ||||
| 28 | Accepted | 25ms | 444 KiB | ||||
| 29 | Accepted | 30ms | 460 KiB | ||||
| 30 | Accepted | 32ms | 568 KiB | ||||
| subtask6 | 0/50 | ||||||
| 31 | Accepted | 1ms | 316 KiB | ||||
| 32 | Wrong answer | 32ms | 684 KiB | ||||
| 33 | Accepted | 1ms | 500 KiB | ||||
| 34 | Accepted | 1ms | 316 KiB | ||||
| 35 | Accepted | 1ms | 316 KiB | ||||
| 36 | Accepted | 4ms | 316 KiB | ||||
| 37 | Accepted | 1ms | 316 KiB | ||||
| 38 | Accepted | 1ms | 316 KiB | ||||
| 39 | Accepted | 1ms | 316 KiB | ||||
| 40 | Accepted | 1ms | 316 KiB | ||||
| 41 | Wrong answer | 1ms | 316 KiB | ||||
| 42 | Accepted | 1ms | 420 KiB | ||||
| 43 | Accepted | 2ms | 424 KiB | ||||
| 44 | Accepted | 2ms | 316 KiB | ||||
| 45 | Accepted | 1ms | 356 KiB | ||||
| 46 | Accepted | 1ms | 316 KiB | ||||
| 47 | Accepted | 1ms | 368 KiB | ||||
| 48 | Accepted | 2ms | 316 KiB | ||||
| 49 | Accepted | 4ms | 316 KiB | ||||
| 50 | Accepted | 7ms | 616 KiB | ||||
| 51 | Accepted | 7ms | 316 KiB | ||||
| 52 | Accepted | 74ms | 5500 KiB | ||||
| 53 | Accepted | 1ms | 316 KiB | ||||
| 54 | Accepted | 1ms | 316 KiB | ||||
| 55 | Accepted | 2ms | 316 KiB | ||||
| 56 | Accepted | 2ms | 508 KiB | ||||
| 57 | Accepted | 16ms | 464 KiB | ||||
| 58 | Accepted | 25ms | 444 KiB | ||||
| 59 | Accepted | 30ms | 460 KiB | ||||
| 60 | Accepted | 32ms | 568 KiB | ||||
| 61 | Wrong answer | 2ms | 500 KiB | ||||
| 62 | Wrong answer | 3ms | 316 KiB | ||||
| 63 | Accepted | 2ms | 316 KiB | ||||
| 64 | Accepted | 34ms | 2908 KiB | ||||
| 65 | Wrong answer | 2ms | 508 KiB | ||||
| 66 | Wrong answer | 2ms | 316 KiB | ||||
| 67 | Wrong answer | 2ms | 316 KiB | ||||
| 68 | Wrong answer | 2ms | 500 KiB | ||||
| 69 | Wrong answer | 30ms | 784 KiB | ||||
| 70 | Accepted | 196ms | 11096 KiB | ||||