{ "type": "code_options", "author": "csdn.net", "source": "solution.md", "exercise_id": "13364b60933343cf82bdee276b57df98", "keywords": "动态表,表扩张,算法中阶,摊还分析,高级设计和分析技术", "title": "报数游戏", "desc": [ { "content": "\n
题目描述
报数游戏\n首先,会给他们一人一个编号,并且每个人的编号都不相同。接下来的每一回合,会给一个数,编号超过它的最小编号的人要报出自己的编号。如果没有人的编号比给出的数要大,那么编号最大的人要报出自己的编号。每个人可以重复报号。\n会按照一个列表顺次报出每个回合的数,朋友们想知道每回合报出的编号应该是多少。\n输入
输入数据共 3 行。\n第一行有两个整数 n,m(1≤n≤100,000,1≤m≤100,000),分别表示参与游戏的朋友的个数,和游戏的回合数。 \n第二行 n个整数 ai(1≤ai≤100,000,000),表示朋友们每个人的编号。对于 0≤i<j<n,都有 ai<aj,即他们的编号递增排列。 \n第三行 m 个整数 qi(1≤qi≤100,000,000),表示每回合给的数字。\n输出
\n输出共一行 m 个整数,表示每回合报出的编号,每两个整数之间一个空格,最后一个数后面没有空格。