fork download
  1. #include <algorithm>
  2. #include <iostream>
  3. #include <vector>
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8. const vector<int> v = { 100, 110, 120, 6, 6, 6, 2, 2, 7 };
  9. vector<int> dynamicTable(v.size());
  10.  
  11. for (int i = v.size() - 1; i >= 0; --i) {
  12. for (int j = i + 1; j < v.size(); ++j) {
  13. if (v[i] <= v[j]) {
  14. dynamicTable[i] = max(dynamicTable[j], dynamicTable[i]);
  15. }
  16. }
  17. ++dynamicTable[i];
  18. }
  19.  
  20. cout << *max_element(cbegin(dynamicTable), cend(dynamicTable)) << endl;
  21. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
4