SCNUOJ 封榜测试赛

Problem A. 约瑟夫问题

这是一个经典的 约瑟夫问题n 个人围成一圈,从第 1 个人开始按 1,2,1,2,... 报数,报到 1 的出队,留下来的人继续按此规则报数,直到所有人出队。

现有 q 次询问,每次求第 x 个人是第几个出队的。

输入

第一行两个数 n,q \ (1 \leq n \leq 10^{16},1 \leq q \leq 5 \times 10^5)

接下来 q 行,每行一个数 x \ (1 \leq x \leq n),表示询问。

输出

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

样例

标准输入 复制文本
4 3
2
3
4
标准输出 复制文本
3
2
4

登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 11
通过 4

A B C

为了测试滚榜和解榜功能,调整了比赛结束时间(6 月 9 日 20:40)。话说 B 题没有高位限制应该挺良心的?
由于管理员比较懒,C 题回答『不能』目前将得到 Wrong Answer,比赛结束后再考虑加个 SPJ。
A 题的 n 个人是围成一个圈的,标题没骗人的就是经典的约瑟夫问题,题面已经更新。