#aBC257B. [ABC257B] 1D Pawn

[ABC257B] 1D Pawn

AT_abc257_b [ABC257B] 1D Pawn

题目描述

NN 个格子从左到右排成一行,依次编号为第 11 个格子、第 22 个格子、……、第 NN 个格子。
此外,有 KK 个棋子,最开始从左到右第 ii 个棋子放在第 AiA_i 个格子上。
接下来要进行 QQ 次操作。第 ii 次操作如下:

  • 如果从左到右第 LiL_i 个棋子已经在最右边的格子上,则什么也不做。
  • 否则,如果从左到右第 LiL_i 个棋子的右边相邻的格子上没有棋子,则将该棋子向右移动一格。若右边的格子上已有棋子,则什么也不做。

请在 QQ 次操作结束后,依次输出 i=1,2,,Ki=1,2,\ldots,K 时从左到右第 ii 个棋子所在的格子的编号。

输入格式

输入按以下格式从标准输入读入。

NN KK QQ
A1A_1 A2A_2 \ldots AKA_K
L1L_1 L2L_2 \ldots LQL_Q

输出格式

请输出 KK 个整数,用空格隔开,依次表示 QQ 次操作结束后从左到右第 ii 个棋子所在的格子的编号。

输入输出样例 #1

输入 #1

5 3 5
1 3 4
3 3 1 1 2

输出 #1

2 4 5

输入输出样例 #2

输入 #2

2 2 2
1 2
1 2

输出 #2

1 2

输入输出样例 #3

输入 #3

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

输出 #3

2 5 6 7 9 10

说明/提示

限制条件

  • 1KN2001 \leq K \leq N \leq 200
  • 1A1<A2<<AKN1 \leq A_1 < A_2 < \cdots < A_K \leq N
  • 1Q10001 \leq Q \leq 1000
  • 1LiK1 \leq L_i \leq K
  • 所有输入均为整数

样例解释 1

最初,棋子分别在第 113344 个格子上。接下来按如下方式进行操作:

  • 从左到右第 33 个棋子在第 44 个格子上。它不在最右边,且右边相邻的格子没有棋子,因此将该棋子移动到第 55 个格子。此时棋子在第 113355 个格子上。
  • 从左到右第 33 个棋子在第 55 个格子上。它已在最右边,因此什么也不做。棋子仍在第 113355 个格子上。
  • 从左到右第 11 个棋子在第 11 个格子上。它不在最右边,且右边相邻的格子没有棋子,因此将该棋子移动到第 22 个格子。此时棋子在第 223355 个格子上。
  • 从左到右第 11 个棋子在第 22 个格子上。它不在最右边,但右边相邻的格子(第 33 个格子)有棋子,因此什么也不做。棋子仍在第 223355 个格子上。
  • 从左到右第 22 个棋子在第 33 个格子上。它不在最右边,且右边相邻的格子没有棋子,因此将该棋子移动到第 44 个格子。此时棋子在第 224455 个格子上。

因此,QQ 次操作结束后,棋子分别在第 224455 个格子上,应按顺序输出 2,4,52,4,5

由 ChatGPT 4.1 翻译