1 #include <iostream> 2 #include <cstdio> 3 #include <set> 4 #include <algorithm> 5 using namespace std; 6 set<int>s; 7 int main() 8 { 9 int n,fig; 10 scanf("%d",&n); 11 for(int i=0;i<n;i++){ 12 scanf("%d",&fig); 13 if(s.empty()) s.insert(fig); 14 else{ 15 if(s.lower_bound(fig) != s.end()){//找到比当前输入值大的值 16 s.erase(s.lower_bound(fig));//将较大的那个值删除 17 s.insert(fig);//将当前值插入 18 }else s.insert(fig);//新增轨道 19 } 20 } 21 printf("%d\n",s.size()); 22 return 0; 23 }