数组重排
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目背景
Y 同学是一位对算法充满热情的🐑。在日常工作中,他经常遇到需要对数组进行重排的任务。有一天,他对常规的排序和移动操作感到厌倦,于是设计了一种独特的、看似混沌却又蕴含规律的数字移动算法。
题目描述
算法开始时,有一个无限长的数组,编号从 1 开始。初始时,对于 ,数字 被放置在数组的第 个位置上。所有其他位置均为空。
接下来,算法会重复执行以下步骤,直到所有 个数字都紧凑地排列在数组的前 个位置(即位置 )为止:
- 找到当前所有非空位置中,下标最大的那个位置。
- 将该位置上的数字,移动到它左侧最近的那个空位置上。
现在,给定 和 次查询。每次查询给出一个整数 (),你需要回答:在算法结束时,数组第 个位置上存放的是哪个数字?
输入格式
第一行包含两个整数 和 。 接下来 行,每行包含一个整数 ,表示一次查询。
输出格式
对于每次查询,输出一行一个整数,表示算法结束后第 个位置上的数字。
样例
样例输入 #1
4 3
2
3
4
样例输出 #1
3
2
4
提示
数据范围与约定
子任务编号 | 分值 | 限制 |
---|---|---|
1 | 31 | |
2 | 29 | |
3 | 40 |
对于 的数据,。