luogu#P11538. [Code+#5] 棋子

[Code+#5] 棋子

题目背景

题目来源:link

题目描述

棋盘从左到右被分割成 n(n1000)n(n\le 1000) 个格子,从左到右编号为 1,2,,n1,2,\dots,n。棋盘上有 m(mn)m(m\le n) 个棋子,编号为 1,2,,m1,2,\dots,m ,编号为 ii 的棋子刚开始摆放在编号为 pip_i 的格子上,一个格子最多摆放一个棋子。每次操作小R可以选择一个棋子,将它移动到它右边第一个空着的格子中,如果它右边没有空着的格子了,那么这就是一个非法操作,执行一次非法操作不会对棋盘有任何改变。小 R 依次做了 kk 次操作,如果一次操作是合法的,你需要输出这颗棋子移动到的格子的编号,如果是非法的,你需要输出 error!

输入格式

第一行三个整数 nnmmkk ,表示格子数、棋子数和操作数。

第二行 mm 个正整数,第 ii 个正整数表示 pip_i ,即第 ii 个棋子的初始位置。

第三行 kk 个正整数,第 ii 个正整数表示 xix_i ,即第 ii 次操作选定的棋子的编号。

输出格式

输出 kk 行,第ii行表示第ii次操作的结果。对于合法操作,输出棋子移动到的位置,对于非法操作,输出一行 error!

5 3 7
3 1 4
3 1 1 1 2 3 1

5
4
error!
error!
2
error!
error!

提示

数据范围:

$\def\arraystretch{1.21} \begin{array}{|c|c|c|}\hline \bold{\small{子任务}}&\textbf{score}&\textbf{constraints}\\\hline \text{A}&30&m=1\\\hline \text{B}&70&\small{无特殊限制}\\\hline \end{array}$

对于所有数据,保证 1m<n10001\le m<n\le10001k100001\le k\le100001pin,1xim1\le p_i\le n,1\le x_i\le mpip_i 互不相等。