set的用法还是不熟
#include <bits/stdc++.h>
using namespace std;
int n,a,b;
set<int> s;
signed main() {
ios::sync_with_stdio(0);
cin >> n;
while(n--) {
int a;
cin >> a;
if(s.upper_bound(a) != s.end())
s.erase(s.upper_bound(a));
s.insert(a);
}
cout << s.size();
return 0;
}