fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n, m;
  6. cin >> n >> m;
  7. vector<int> a(n), b(m);
  8. for (int i = 0; i < n; i++) cin >> a[i];
  9. for (int j = 0; j < m; j++) cin >> b[j];
  10.  
  11. vector<int> dp(m, 0); // dp[j] = LCIS kết thúc tại b[j]
  12. for (int i = 0; i < n; i++) {
  13. int current_max = 0;
  14. for (int j = 0; j < m; j++) {
  15. if (a[i] == b[j]) {
  16. dp[j] = max(dp[j], current_max + 1);
  17. }
  18. if (a[i] > b[j]) {
  19. current_max = max(current_max, dp[j]);
  20. }
  21. }
  22. }
  23.  
  24. cout << *max_element(dp.begin(), dp.end()) << "\n";
  25. }
  26.  
Success #stdin #stdout 0.01s 5316KB
stdin
7 4
2 3 1 6 5 4 6
1 3 5 6
stdout
3