#include <bits/stdc++.h>
using namespace std;
signed main() {
ios::sync_with_stdio(0);
cin.tie(0);
#ifdef CB
freopen("be2.txt","r",stdin);
// freopen("out.txt","w",stdout);
#endif
int N;
cin>>N;
vector<int>r(N),a(N);
for(int i=0;i<N;i++){
cin>>r[i]>>a[i];
}
vector<multimap<int,int>>v(N+1);
v[0].emplace(0,0);
for(int i=0;i<N;i++){
int l=0,h=i+1;
while(l!=h){
int m=(l+h)/2;
auto it=v[m].lower_bound(r[i]);
if(it==v[m].begin()){
h=m;
continue;
}
it--;
if(it->second>=a[i]){
h=m;
continue;
}
l=m+1;
}
auto it=v[l].emplace(r[i],a[i]);
if(it!=v[l].begin()&&it->second>=prev(it)->second){
v[l].erase(it);
continue;
}
it++;
while(it!=v[l].end()&&it->second>=a[i]){
it=v[l].erase(it);
}
}
int ans=N;
while(v[ans].empty())ans--;
cout<<ans<<'\n';
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/100 | ||||||
1 | Hibás válasz | 0/0 | 3ms | 1696 KiB | |||
2 | Hibás válasz | 0/0 | 46ms | 7556 KiB | |||
3 | Részben helyes | 2/4 | 3ms | 2080 KiB | |||
4 | Részben helyes | 2/4 | 3ms | 2288 KiB | |||
5 | Részben helyes | 2/4 | 3ms | 2480 KiB | |||
6 | Részben helyes | 2/4 | 3ms | 2696 KiB | |||
7 | Részben helyes | 2/4 | 3ms | 2772 KiB | |||
8 | Részben helyes | 2/4 | 3ms | 2908 KiB | |||
9 | Részben helyes | 2/4 | 3ms | 3000 KiB | |||
10 | Részben helyes | 2/4 | 3ms | 3312 KiB | |||
11 | Részben helyes | 2/4 | 6ms | 3528 KiB | |||
12 | Részben helyes | 2/4 | 9ms | 4444 KiB | |||
13 | Részben helyes | 3/6 | 9ms | 4536 KiB | |||
14 | Részben helyes | 3/6 | 17ms | 5696 KiB | |||
15 | Részben helyes | 3/6 | 27ms | 6808 KiB | |||
16 | Részben helyes | 3/6 | 46ms | 9232 KiB | |||
17 | Részben helyes | 3/6 | 57ms | 10416 KiB | |||
18 | Részben helyes | 3/6 | 67ms | 11536 KiB | |||
19 | Részben helyes | 3/6 | 79ms | 13004 KiB | |||
20 | Részben helyes | 3/6 | 100ms | 15080 KiB | |||
21 | Részben helyes | 3/6 | 100ms | 15080 KiB | |||
22 | Részben helyes | 3/6 | 100ms | 15172 KiB |