1. paizaラーニングトップ
  2. レベルアップ問題集
  3. リストメニュー応用編(言語選択)
  4. 問題一覧 PHP編
  5. 待ち行列の割り込み

リストメニュー応用編のサムネイル
待ち行列の割り込み (paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

人気中華料理店「牌座」には常に長蛇の行列ができています。現在は N 人並んでおり、先頭から i 番目の人の名前は A_i です。そこへ、新たに M 人の客が行列に並ぼうと考えています。彼らの名前は順に B_j です。しかし、お腹が空いた M 人の客は行列の X_j 番目の人の前に順に割り込んでしまいました。 M 人の客が割り込んだ後の、最終的な N + M 人の行列に並んでいる人の名前を、行列の先頭から順に答えてください。なお X_j = N + j のとき、客は行列の最後尾に並びます。

1 つ目のサンプルを見てみましょう。

最初は kirishima , rokumura , midorikawa , kurota , neko , margaret の順で並んでいます。そこへ、 noda , kino , sakura , nitta の 4 人が行列に割り込もうと考えています。

まずは noda さんが行列の 3 番目にいた midorikawa さんの前に割り込みます。すると行列は以下のようになります。

[先頭] kirishima, rokumura, noda, midorikawa, kurota, neko, margaret [末尾]

次に kino さんが行列の 4 番目にいた midorikawa さんの前に割り込みます。すると行列は以下のようになります。

[先頭] kirishima, rokumura, noda, kino, midorikawa, kurota, neko, margaret [末尾]

そして sakura さんが行列の 2 番目にいた rokumura さんの前に割り込みます。すると行列は以下のようになります。

[先頭] kirishima, sakura, rokumura, noda, kino, midorikawa, kurota, neko, margaret [末尾]

最後に nitta さんが行列の 8 番目にいた neko さんの前に割り込みます。すると行列は以下のようになります。

[先頭] kirishima, sakura, rokumura, noda, kino, midorikawa, kurota, nitta, neko, margaret [末尾]

入力される値

N M
A_1 A_2 ... A_N
B_1 B_2 ... B_M
X_1 X_2 ... X_M


・ 1 行目に、最初に行列に並んでいた客数 N と、新たに来て行列に割り込もうと考えている客数 M が与えられます。
・ 2 行目に、最初に行列に並んでいた客の名前を表す A_i が半角スペース区切りで与えられます。
・ 3 行目に、新たに来て行列に割り込もうと考えている客の名前 B_j が半角スペース区切りで与えられます。
・ 4 行目に、客 B_j が割り込む行列内の場所 X_j が半角スペース区切りで与えられます。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

M 人の客が割り込んだ後の、最終的な N + M 人の行列に並んでいる人の名前を、行列の先頭から順に改行区切りで答えてください。

また、末尾に改行を入れ、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

・ 入力はすべて整数
・ 1 ≦ N < 1,000
・ 1 ≦ M < 1,000
・ 2 ≦ N + M ≦ 1,000
・ 1 ≦ X_j ≦ N + j
・ A_i, B_j は英小文字のみで構成され、それぞれ 1 文字以上 10 文字以下である
・ x ≠ y において、 A_x ≠ A_y かつ B_x ≠ B_y である
・ 任意の x, y において、 A_x ≠ B_y である

入力例1

6 4
kirishima rokumura midorikawa kurota neko margaret
noda kino sakura nitta
3 4 2 8

出力例1

kirishima
sakura
rokumura
noda
kino
midorikawa
kurota
nitta
neko
margaret

入力例2

4 4
a b c d
w x y z
1 1 6 7

出力例2

x
w
a
b
c
y
z
d

問題一覧へ戻る

ページの先頭へ戻る