QOJ.ac

QOJ

Limite de temps : 2 s Limite de mémoire : 1024 MB Points totaux : 100

#23871. Penggabungan

Statistiques

Diberikan barisan bilangan bulat positif $A=(A_1, A_2, \ldots, A_N)$ sepanjang $N$ dan barisan bilangan bulat positif $B=(B_1, B_2, \ldots, B_M)$ sepanjang $M$. Kedua barisan ini merupakan barisan monoton tidak menurun. Artinya, keduanya memenuhi $A_1 \le A_2 \le \cdots \le A_N$ dan $B_1 \le B_2 \le \cdots \le B_M$.

Dengan menggunakan algoritma berikut, kita membentuk barisan bilangan bulat positif $C=(C_1, C_2, \ldots, C_{N+M})$ sepanjang $N+M$ dari barisan-barisan tersebut.

  1. Mula-mula, anggap $C$ kosong.
  2. Jika $A$ dan $B$ keduanya kosong, selesai.
  3. Jika salah satu dari $A$ atau $B$ kosong, misalkan $t$ adalah barisan yang tidak kosong. Jika keduanya tidak kosong, misalkan $t$ adalah barisan yang elemen pertamanya lebih kecil. Namun, apabila elemen pertama dari $A$ dan $B$ bernilai sama, misalkan $t$ adalah $A$.
  4. Tambahkan elemen pertama dari $t$ ke bagian akhir $C$.
  5. Hapus elemen pertama dari $t$.
  6. Kembali ke langkah 2.

Ketika diberikan barisan bilangan bulat positif yang monoton tidak menurun $A$ dan $B$, buatlah program untuk mengeluarkan barisan bilangan bulat positif $C$ yang dihasilkan oleh algoritma ini.

Masukan

Masukan diberikan dari masukan standar dengan format berikut:

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

Keluaran

Keluarkan $N + M$ baris ke keluaran standar. Pada baris ke-$k$ ($1 \le k \le N + M$), keluarkan $C_k$.

Batasan

  • $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$.

Contoh

Masukan 1

2 1
1 2
2

Keluaran 1

1
2
2

Catatan 1

Sebelum menjalankan algoritma, $A=(1,2), B=(2)$. Barisan $C$ dibentuk sebagai berikut:

  • Karena elemen pertama barisan $A$ adalah $1$ dan elemen pertama barisan $B$ adalah $2$, tambahkan elemen pertama barisan $A$ ke barisan $C$ lalu hapus dari barisan $A$.
  • Karena elemen pertama barisan $A$ adalah $2$ dan elemen pertama barisan $B$ adalah $2$, tambahkan elemen pertama barisan $A$ ke barisan $C$ lalu hapus dari barisan $A$.
  • Karena barisan $A$ kosong, tambahkan elemen pertama barisan $B$ ke barisan $C$ lalu hapus dari barisan $B$.
  • Karena barisan $A$ maupun barisan $B$ kosong, hentikan algoritma.

Setelah algoritma selesai, barisan tersebut adalah $C=(1,2,2)$.

Masukan 2

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

Keluaran 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.