Probliem : CSES - Collecting Numbers
int n;
cin >> n;
set<int> s;
for (int i = 0; i < n; i++){
int x;
cin >> x;
auto it = s.lower_bound(x);
if (it != s.begin()){
s.erase(prev(it));
}
s.insert(x);
}
cout << (int)s.size(s) << '\n';
Why my solution is wrong. I test it on several cases but it still fails on submission.