fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. int main() {
  6.  
  7. int n;
  8. cin>>n;
  9.  
  10. int a[n];
  11. for(int i=0;i<n;i++)
  12. {
  13. cin>>a[i];
  14. }
  15.  
  16. vector<int> subsequence;
  17.  
  18. subsequence.push_back(a[0]);
  19.  
  20. for(int i=1;i<n;i++)
  21. {
  22. if(subsequence.back() < a[i])
  23. {
  24. subsequence.push_back(a[i]);
  25. }
  26. else
  27. {
  28. int id = lower_bound(subsequence.begin(),subsequence.end(),a[i]) - subsequence.begin();
  29. subsequence[id] = a[i];
  30. }
  31. }
  32.  
  33. cout<<subsequence.size()<<endl;
  34. return 0;
  35. }
Success #stdin #stdout 0s 5288KB
stdin
8
7 3 5 3 6 2 9 8
stdout
4