测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A6523. 「BalticOI 2013」Brunhilda 的生日 Brunhilda’s Birthday

编程题 提高+/省选-
知识点

题目描述

给定 $m$ 个素数和 $Q$ 个询问。每个询问有 $n$ 个人,每次操作可以任意选择其中的一个素数 $p$(素数可以重复使用),然后去掉剩余人数 $\bmod p$ 个人。对于每个询问,我们想知道,至少需要多少步操作才能去掉所有人。

输入格式

第一行:素数个数 $m$ 和询问个数 $Q$($1 \le m \le 100\ 000, 1 \le Q \le 100\ 000$)

第二行:$m$ 个素数 $p_i$($2 \le p_i \le 10\ 000\ 000$)

下面 $Q$ 行:$n$($1 \le n \le 10\ 000\ 000$)

输出格式

$Q$ 行答案。如果无解,输出 oo

输入输出样例

输入 #1
2 2
2 3
5
6
输出 #1
3
oo

说明/提示

对于 $20\%$ 的测试数据,$m, n_j, Q \le 10\ 000$

对于另外 $20\%$ 的测试数据,$Q = 1$

对于所有数据,$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$.

翻译来自 abcdabcd987。
上一题 去做题 下一题