Dãy con chung dài nhất (Phiên bản 1)

Xem PDF



Tác giả:
Dạng bài
Điểm: 400 (p) Thời gian: 0.5s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một dãy số nguyên \(A\) gồm \(N\) phần tử. Thực hiện xoá đi một vài phần tử của dãy \(A\), giữ nguyên vị trí tương đối của các phần tử còn lại ta thu được dãy \(C\). Khi đó \(C\) được gọi là dãy con của dãy \(A\). Dãy ban đầu cũng là dãy con của dãy \(A\).

Trong bài tập này bạn cần tính độ dài dãy \(C\) dài nhất thoả mãn điều kiện: \(C\) là dãy con của \(A\), \(C\) là dãy con của \(B\).

Input

  • Dòng một là hai số nguyên \(M\)\(N\) - theo thứ tự là độ dài dãy \(A\)\(B\).

  • Dòng thứ hai chứa dãy số nguyên \(A (1 ≤ A_i ≤ M)\). Các phần tử dãy \(A\) đôi một phân biệt.

  • Dòng thứ ba chứa dãy số nguyên \(B ( 1 ≤ B_i ≤ N)\). Các phần tử dãy \(B\) đôi một phân biệt.

Output

  • Ghi ra một số nguyên duy nhất là độ dài dãy \(C\) tìm được.

Scoring

  • Subtask \(1\) (\(50\%\) số điểm): \(M, N \leq 3.10^3\).
  • Subtask \(2\) (\(50\%\) số điểm): \(M, N \leq 10^5\).

Example

Test 1

Input
5 4
1 5 3 2 4
1 4 3 2 
Output
3

Bình luận