fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int n;
  7. cin>>n;
  8. int List[n];
  9. for(int i = 0; i < n; i++)
  10. {
  11. cin>>List[i];
  12. }
  13. int LIS[n];
  14. for(int i = 0; i < n; i++)
  15. {
  16. LIS[i] = 1;
  17. }
  18. // for(int i = 0; i < n; i++)
  19. // {
  20. // cout<<LIS[i]<<" ";
  21. // }
  22. // cout<<endl;
  23. for(int i = 1; i < n; i++)
  24. {
  25. for(int j = 0; j < i; j++)
  26. {
  27. if(List[i] > List[j])
  28. {
  29. LIS[i] = max(LIS[i], 1+ LIS[j]);
  30. }
  31. else continue;
  32. }
  33. }
  34.  
  35. for(int i = 0; i < n; i++)
  36. {
  37. cout<<LIS[i]<<" ";
  38. }
  39. cout<<endl;
  40. int mx = INT_MIN;
  41. for(int i = 0; i < n; i++)
  42. {
  43. if(mx < LIS[i])mx = LIS[i];
  44. }
  45. cout<<mx<<endl;
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57. }
  58.  
Success #stdin #stdout 0.01s 5272KB
stdin
7
3 4 -1 0 6 2 3
stdout
1 2 1 2 3 3 4 
4