#8948. 「THUPC 2025 初赛」 背向而行 省选/NOI−

时间限制:500 ms 内存限制:512 MiB 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: root

题目描述

堆积木,其中第 堆积木位于坐标 的位置,有 块。

反复执行如下操作,直至无法操作:

  • 如果存在两块积木坐标相同,则找到满足条件的积木中坐标最小的两块,将一块坐标减 ,另一块坐标加

可以证明在有限次操作之后,所有积木的坐标都会不同,此时无法进行操作。

多次询问,每次给定正整数 ,问最后左数第 块积木的位置。保证询问的 严格递增。

输入格式

第一行一个正整数 。保证

接下来 行,其中第 行两个正整数 。保证 。保证 按照输入的顺序严格递增,即

接下来一行一个正整数 ,表示询问个数。保证

接下来 行,每行一个正整数 ,表示一次询问。保证 。保证询问的 严格递增。

输出格式

输出 行,每行一个整数,其中第 行表示第 个询问的答案。

样例

样例输入

2
3 3
4 2
2
2
4

样例输出

2
5

样例解释

我们用长度为 5 的单调不降数字字符串描述从左往右五块积木的位置,那么操作过程如下所示:

最终第二块积木坐标为 2,第四块积木坐标为 5。

数据范围与提示

题目来源

来自 2025 清华大学学生程序设计竞赛暨高校邀请赛(THUPC2025)初赛。

题解等资源可在 https://gitlink.org.cn/thusaa/thupc2025pre/tree/master 查看。