Xây dựng dãy số (Bài 2 ngày thứ hai)

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: 2000 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Cho hay dãy số nguyên dương \(a_1, a_2, \dots, a_m\)\(b_1, b_2, \dots, b_n\). Các bạn cần xây dựng dãy \(c\) gồm \(k\) phần tử \(c_1, c_2, \dots, c_k\) thỏa các yêu cầu sau:

  • Tồn tại một dãy con của dãy \(c\) là dãy con của dãy \(a\),
  • Các phần tử còn lại của dãy \(c\) là một dãy con của \(c\) đồng thời là dãy con của dãy \(b\),
  • Dãy \(c\) có thứ tự từ điển nhỏ nhất.

Chú ý: Dãy rỗng được là dãy con của mọi dãy nên nếu dãy \(c\) dãy con của chỉ một trong hai dãy đã cho cũng được coi là thỏa mãn hai điều kiện đầu tiên.

Input

  • Dòng đầu chứa ba số nguyên \(m, n, k\) (\(1 \le m, n \le 3000\); \(k \le m + n\))
  • Dòng thứ hai chứa \(m\) số \(a_1, a_2, \dots, a_m\).
  • Dòng thứ ba chứa \(n\) số \(b_1, b_2, \dots, b_n\).

Output

  • Ghi ra một dòng duy nhất chứa \(k\) số của dãy \(c\) tìm được.

Example

Test 1

Input
7 4 9
1 2 1 3 1 2 1
1 2 3 1
Output
1 1 1 1 2 1 2 3 1
Note
  • Dãy con của dãy \(a\) là: 1 1 1 2 1
  • Các phần tử còn lại tạo thành dãy con của dãy \(b\) là: 1 2 3 1

Scoring

  • 50% số điểm ứng với các test có \(m, n \le 100\).
  • 50% số điểm ứng với các test khác không có ràng buộc bổ sung.

Nguồn: Bắc Ninh PREVNOI 2018-2019

Bình luận

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

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

Kỳ thi: