CSES - Longest Common Subsequence | Dãy con chung dài nhất

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1300 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho hai mảng số nguyên, hãy tìm dãy con chung dài nhất của chúng.

Một dãy con là một dãy các phần tử của mảng theo thứ tự từ trái sang phải, có thể bỏ qua một số phần tử. Một dãy con chung là một dãy con xuất hiện trong cả hai mảng.

Input

Dòng đầu tiên chứa hai số nguyên \(n\)\(m\): kích thước của hai mảng.

Dòng thứ hai chứa \(n\) số nguyên \(a_1,a_2,\dots,a_n\): nội dung của mảng thứ nhất.

Dòng thứ ba chứa \(m\) số nguyên \(b_1,b_2,\dots,b_m\): nội dung của mảng thứ hai.

Output

Đầu tiên, in độ dài của dãy con chung dài nhất.

Sau đó, in một ví dụ của một dãy như vậy. Nếu có nhiều lời giải, bạn có thể in bất kỳ lời giải nào.

Constraints

  • \(1 \le n,m \le 1000\)

  • \(1 \le a_i, b_i \le 10^9\)

Example

Test 1

Input
8 6
3 1 3 2 7 4 8 2
6 5 1 2 3 4
Output
3
1 2 4

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.