QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 1024 MB Puntuación total: 100

#23871. Trộn dãy

Estadísticas

Cho dãy số nguyên dương $A=(A_1, A_2, \ldots, A_N)$ có độ dài $N$ và dãy số nguyên dương $B=(B_1, B_2, \ldots, B_M)$ có độ dài $M$. Cả hai dãy số này đều là dãy đơn điệu không giảm. Tức là chúng thỏa mãn $A_1 \le A_2 \le \cdots \le A_N$ và $B_1 \le B_2 \le \cdots \le B_M$.

Sử dụng thuật toán dưới đây, ta tạo ra dãy số nguyên dương $C=(C_1, C_2, \ldots, C_{N+M})$ có độ dài $N+M$ từ các dãy số này:

  1. Ban đầu coi $C$ là rỗng.
  2. Nếu cả $A$ và $B$ đều rỗng thì kết thúc.
  3. Nếu một trong hai dãy $A$ hoặc $B$ rỗng thì đặt $t$ là dãy không rỗng. Nếu cả hai đều không rỗng thì đặt $t$ là dãy có phần tử đầu tiên nhỏ hơn. Tuy nhiên, khi phần tử đầu tiên của $A$ và $B$ có cùng giá trị thì đặt $t$ là $A$.
  4. Thêm phần tử đầu tiên của $t$ vào cuối dãy $C$.
  5. Xóa phần tử đầu tiên của $t$.
  6. Quay lại bước 2.

Khi được cho hai dãy số nguyên dương đơn điệu không giảm $A$ và $B$, hãy viết chương trình in ra dãy số nguyên dương $C$ được tạo bởi thuật toán này.

Dữ liệu vào

Dữ liệu vào được cung cấp từ đầu vào chuẩn theo định dạng sau:

$$ \begin{aligned} &N \ M \\ &A_1 \ A_2 \ \cdots \ A_N \\ &B_1 \ B_2 \ \cdots \ B_M \end{aligned} $$

Dữ liệu ra

Hãy in ra $N + M$ dòng trên đầu ra chuẩn. Ở dòng thứ $k$ ($1 \le k \le N + M$), hãy in ra $C_k$.

Ràng buộc

  • $1 \le N \le 500$.
  • $1 \le M \le 500$.
  • $1 \le A_1 \le A_2 \le \cdots \le A_N \le 2000$.
  • $1 \le B_1 \le B_2 \le \cdots \le B_M \le 2000$.

Ví dụ

Dữ liệu vào 1

2 1
1 2
2

Dữ liệu ra 1

1
2
2

Giải thích 1

Trước khi thực hiện thuật toán, $A=(1,2), B=(2)$. Dãy $C$ được tạo ra như sau:

  • Vì phần tử đầu tiên của dãy $A$ là $1$ và phần tử đầu tiên của dãy $B$ là $2$, nên ta thêm phần tử đầu tiên của dãy $A$ vào dãy $C$ và xóa nó khỏi dãy $A$.
  • Vì phần tử đầu tiên của dãy $A$ là $2$ và phần tử đầu tiên của dãy $B$ là $2$, nên ta thêm phần tử đầu tiên của dãy $A$ vào dãy $C$ và xóa nó khỏi dãy $A$.
  • Vì dãy $A$ rỗng, nên ta thêm phần tử đầu tiên của dãy $B$ vào dãy $C$ và xóa nó khỏi dãy $B$.
  • Vì cả dãy $A$ lẫn dãy $B$ đều rỗng, nên kết thúc thuật toán.

Sau khi thuật toán kết thúc, dãy $C=(1,2,2)$.

Dữ liệu vào 2

3 8
1 3 8
3 3 4 5 6 7 8 9

Dữ liệu ra 2

1
3
3
3
4
5
6
7
8
8
9

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.