Logo
(追記) (追記ここまで)

18410번 - マージ (Merge) 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB25020518482.511%

문제

長さ N の正整数列 A=(A1, A2, ..., AN) と,長さ M の正整数列 B=(B1, B2, ..., BM) が与えられる. これらの数列は,共に広義単調増加数列である.つまり,A1 ≦ A2 ≦ … ≦ AN, B1 ≦ B2 ≦ … ≦ BM を満たす.

以下のアルゴリズムを用いて,これらの数列から,長さ N+M の正整数列 C=(C1, C2, ..., CN+M) を生成する.

  1. はじめ C は空とする.
  2. AB がどちらも空の場合,終了する.
  3. AB のどちらかが空の場合,そうでない数列を t とおく.どちらも空でない場合,先頭の要素が小さい数列を t とおく.ただし,AB の先頭の要素が同じ値のときは At とおく.
  4. t の先頭の要素を C の末尾に追加する.
  5. t の先頭の要素を削除する.
  6. 2. に戻る.

広義単調増加な正整数列 A, B が与えられたとき,このアルゴリズムにより生成される正整数列 C を出力するプログラムを作成せよ.

입력

入力は以下の形式で標準入力から与えられる.

N M
A1 A2  AN
B1 B2  BM

출력

標準出力に N + M 行出力せよ.

k 行目 (1 ≦ k ≦ N + M) には,Ck を出力せよ.

제한

  • 1 ≦ N ≦ 500.
  • 1 ≦ M ≦ 500.
  • 1 ≦ A1 ≦ A2 ≦ … ≦ AN ≦ 2000.
  • 1 ≦ B1 ≦ B2 ≦ … ≦ BM ≦ 2000.

예제 입력 1

2 1
1 2
2

예제 출력 1

1
2
2

アルゴリズムを行う前,A=(1,2), B=(2) である. 以下のように数列 C が生成される.

  • 数列 A の先頭の要素は 1,数列 B の先頭の要素は 2 なので,数列 A の先頭の要素を数列 C に追加しこれを数列 A から削除する.
  • 数列 A の先頭の要素は 2,数列 B の先頭の要素は 2 なので,数列 A の先頭の要素を数列 C に追加しこれを数列 A から削除する.
  • 数列 A は空なので,数列 B の先頭の要素を数列 C に追加しこれを数列 B から削除する.
  • 数列 A も数列 B も空なので,アルゴリズムを終了する.

アルゴリズムが終了した後,数列 C=(1,2,2) である.

예제 입력 2

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

예제 출력 2

1
3
3
3
4
5
6
7
8
8
9

힌트

출처

Olympiad > Japanese Olympiad in Informatics > Japanese Olympiad in Informatics Qualification Round > JOI 2019/2020 예선 1 1-3번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /