atcoder#ABC257B. [ABC257B] 1D Pawn

[ABC257B] 1D Pawn

题目描述

N N 個のマスが左右一列に並んでおり、左から順にマス 1 1 、マス 2 2 、…、マス N N と番号づけられています。
また、K K 個のコマがあり、最初左から i i 番目のコマはマス Ai A_i に置かれています。
これらに対して、Q Q 回の操作を行います。 i i 回目の操作では次の操作を行います。

  • 左から Li L_i 番目のコマが一番右のマスにあるならば何も行わない。
  • そうでない時、左から Li L_i 番目のコマがあるマスの 1 1 つ右のマスにコマが無いならば、左から Li L_i 番目のコマを 1 1 つ右のマスに移動させる。 1 1 つ右のマスにコマがあるならば、何も行わない。

Q Q 回の操作が終了した後の状態について、i=1,2,,K i=1,2,\ldots,K に対して左から i i 番目のコマがあるマスの番号を出力してください。

输入格式

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

N N K K Q Q A1 A_1 A2 A_2 \ldots AK A_K L1 L_1 L2 L_2 \ldots LQ L_Q

输出格式

K K 個の整数を空白区切りで一行に出力せよ。 ここで、i i 個目の整数は、 Q Q 回の操作が終了した後の状態について、左から i i 番目のコマの番号を表す。

题目大意

NN个格子,从左到右编号为1,2,,N1, 2, \dots, N

KK张卡片, 从左到右的第ii张卡片放在AiA_i个格子里。

现在,有QQ次操作,第ii次查询对应的整数为LiL_i, 意义如下所示:

  • 如果第LiL_i张卡片在最右边的格子里,什么也不做。
  • 否则,将第LiL_i张卡片往右边移动一格,如果它右边没有卡片的话。

输出最后每一张卡片的位置。

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

提示

制約

  • 1 K N 200 1\leq\ K\leq\ N\leq\ 200
  • 1 A1 < A2 <  < AK N 1\leq\ A_1\ <\ A_2\ <\ \cdots\ <\ A_K\leq\ N
  • 1 Q 1000 1\leq\ Q\leq\ 1000
  • 1 Li K 1\leq\ L_i\leq\ K
  • 入力はすべて整数

Sample Explanation 1

最初、コマはマス 1 1 , 3 3 , 4 4 にあります。これに対して以下のように操作が行われます。 - 左から 3 3 番目のコマはマス 4 4 にあります。 これは一番右のマスでなく、その 1 1 つ右のマスにもコマが置かれていないため、左から 3 3 番目のコマをマス 5 5 に動かします。 コマはマス 1 1 , 3 3 , 5 5 にある状態になります。 - 左から 3 3 番目のコマはマス 5 5 にあります。 これは一番右のマスなので、何も行いません。 コマはマス 1 1 , 3 3 , 5 5 にある状態のままです。 - 左から 1 1 番目のコマはマス 1 1 にあります。 これは一番右のマスでなく、その 1 1 つ右のマスにもコマが置かれていないため、左から 1 1 番目のコマをマス 2 2 に動かします。 コマはマス 2 2 , 3 3 , 5 5 にある状態になります。 - 左から 1 1 番目のコマはマス 2 2 にあります。 これは一番右のマスでありませんが、その 1 1 つ右のマス(マス 3 3 )にコマが置かれているため、何も行いません。 コマはマス 2 2 , 3 3 , 5 5 にある状態のままです。 - 左から 2 2 番目のコマはマス 3 3 にあります。 これは一番右のマスでなく、その右のマスにもコマが置かれていないため、左から 2 2 番目のコマをマス 4 4 に動かします。 コマはマス 2 2 , 4 4 , 5 5 にある状態になります。 よって、Q Q 回の操作が終わった後でコマはマス 2 2 , 4 4 , 5 5 に置かれているため、2,4,5 2,4,5 を空白区切りでこの順に出力します。