QOJ.ac

QOJ

حد الوقت: 1 s حد الذاكرة: 256 MB مجموع النقاط: 100

#15584. Brunhilda’s Birthday

الإحصائيات

除了对古老盔甲情有独钟外,布伦希尔德(Brunhilda)是一个普通的七岁女孩。因此,她正在筹划一场完美的生日派对,为此她发明了以下游戏:所有孩子都在周围跑动,直到宣布某个数字 $k$。然后,所有孩子都尝试组成恰好 $k$ 人的小组。只要还剩下至少 $k$ 个孩子,就会继续组成 $k$ 人的小组。最后,剩下不足 $k$ 个孩子,他们将被淘汰(当然不是真的淘汰)出游戏。游戏随着宣布更多的数字而继续,如果所有孩子都出局,游戏结束。

布伦希尔德让她的父亲沃坦(Wotan)在游戏中宣布数字。沃坦不喜欢这个游戏,在他们第一次尝试时宣布了 $\infty$。布伦希尔德认为这在派对上会相当令人尴尬,于是她给了他一个包含 $m$ 个质数的列表,他每次宣布数字时都可以从中选择;他可以多次使用同一个数字。

沃坦希望尽快结束游戏,因为他买了他最喜欢的足球俱乐部阿斯加德 FC(FC Asgard)比赛的门票。不幸的是,布伦希尔德还不知道会有多少个孩子来参加她的派对。现在,对于 $Q$ 个不同的孩子人数 $n_1, \dots, n_Q$,沃坦想提前知道他最少需要宣布多少次数字才能结束游戏。

输入格式

第一行包含上述的整数 $m$ 和 $Q$。

第二行包含 $m$ 个不同的质数 $p_i$($1 \le i \le m$),按升序排列:这是沃坦可以使用的质数列表。

接下来的 $Q$ 行,每行包含一个整数 $n_j$($1 \le j \le Q$):可能参加游戏的孩子人数。

输出格式

输出应包含 $Q$ 行。第 $j$ 行应包含针对 $n_j$ 的答案:如果沃坦可以结束游戏,则应包含他所需的最少宣布次数(一个整数);否则,该行应包含字符串 oo(两个小写字母 o,表示 $\infty$)。

数据范围

  • $1 \le m \le 100\,000$
  • $1 \le Q \le 100\,000$
  • $2 \le p_i \le 10\,000\,000$
  • $1 \le n_j \le 10\,000\,000$

对于部分测试数据,满足以下条件:

  • 在价值 20 分的测试用例中:$m, n_j, Q \le 10\,000$
  • 在额外价值 20 分的测试用例中:$Q = 1$

样例

输入样例 1

2 2
2 3
5
6

输出样例 1

3
oo

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.