QOJ.ac

QOJ

시간 제한: 1 s 메모리 제한: 1024 MB 총점: 100

#13888. 奇数瓦砾

통계

金克丝(Jinx)又在幻想炸毁东西了,这时她看到了一些排列整齐的碎石堆。

“你说呢,鱼骨头(Fishbones)?我们要把它炸了吗?”

她的规则很简单:如果一个碎石堆的大小为偶数,她就会把它分成两个大小为原来一半的碎石堆。她会递归地重复这个过程,直到所有的碎石堆的大小都为奇数。

当一个碎石堆被分成两个时,它相对于其他碎石堆的左右位置不会改变。例如,大小为 3 2 5 的碎石堆可能会变成 3 1 1 5

金克丝仍在计划如何在“皮尔特沃夫的执法官们”(Piltover's finest)来扫兴之前炸毁所有的碎石。在此期间,她希望你能够计算出——从左到右观察新的碎石堆——第 $i$ 个碎石堆的大小会是多少?

金克丝有很多询问——也有很多炸药——所以你最好快点回答,以防万一。

输入格式

第一行包含两个整数 $n$ 和 $q$($1 \le n, q \le 10^5$),分别表示初始碎石堆的数量和询问的数量。

第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le 10^{18}$),表示每个碎石堆的大小。保证 $\sum_{i=1}^n a_i \le 2 \cdot 10^{18}$。

接下来的 $q$ 行,每行包含一个整数 $x_i$($1 \le x_i \le 10^{18}$),表示在所有爆炸完成后,要查询的碎石堆的(从 1 开始的)下标。

输出格式

对于每个询问,输出一行,包含在所有爆炸完成后,下标为 $x_i$ 的碎石堆的大小。如果下标超出范围,则输出 $-1$。

样例

输入样例 1

5 5
2 3 6 3 8
8
7
4
6
10

输出样例 1

1
1
3
3
1

输入样例 2

1 1
4398046511104
2072689968062

输出样例 2

1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.