trang chủ / đề bài / prevoi19_sequence

Xây dựng dãy số

Đề bài

Mô tả

Cho hai dãy số nguyên dương a1,a2,…,am và b1,b2,…,bn. Các bạn cần xây dựng dãy c gồm k phần tử c1,c2,…,ck 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.

Nói cách khác, có thể chia các phần tử của c thành hai nhóm, mỗi nhóm giữ nguyên thứ tự xuất hiện trong c: nhóm thứ nhất là một dãy con của a, nhóm thứ hai là một dãy con của b. Dãy con của một dãy là dãy thu được bằng cách xóa đi một số phần tử (có thể không xóa phần tử nào), các phần tử còn lại giữ nguyên thứ tự và không nhất thiết đứng liền nhau. Trong các dãy c thỏa mãn hai điều kiện đầu, cần tìm dãy có thứ tự từ điển nhỏ nhất: dãy c nhỏ hơn dãy c′ (cùng độ dài k) nếu tại vị trí đầu tiên i mà ci≠ci′ ta có ci<ci′.

Chú ý: Dãy rỗng được coi là dãy con của mọi dãy nên nếu dãy c là 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.

Dữ liệu vào

  • Dòng đầu chứa ba số nguyên m,n,k (1≤m,n≤3000; 1≤k≤m+n).
  • Dòng thứ hai chứa m số a1,a2,…,am.
  • Dòng thứ ba chứa n số b1,b2,…,bn.

Dữ liệu ra

In ra một dòng duy nhất chứa k số của dãy c tìm được, cách nhau bởi dấu cách.

Ràng buộc

  • 1≤m,n≤3000
  • 1≤k≤m+n
  • 1≤ai,bi≤109

Subtasks

  • Subtask 1 (50% số điểm): m,n≤100;
  • Subtask 2 (50% số điểm): Không có ràng buộc bổ sung.

Ví dụ

Input Output Giải thích
7 4 9
1 2 1 3 1 2 1
1 2 3 1
1 1 1 1 2 1 2 3 1 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.
2 2 4
2 1
2 3
2 1 2 3 Phải dùng hết cả hai dãy. Lấy c1=2 từ dãy a thì c2 có thể là 1; nếu lấy c1=2 từ dãy b thì chỉ được dãy 2 2 1 3 lớn hơn.
3 3 5
2 1 2
2 1 2
1 2 1 2 2 Dãy con của a là a2,a3=1 2, dãy con của b là 2 1 2 (cả dãy b): c=a2,b1,b2,a3,b3. Nếu đã lấy c1=a2 mà chọn c2=a3 thì phải dùng hết 2 1 2 của b và chỉ được 1 2 2 1 2, lớn hơn.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0