[BalticOI2013] Brunhilda’s Birthday
题目描述
有一个整数 $n$ 以及一个长度为 $m$ 的素数表 $p$。
您可以进行任意多次操作,每一次操作时,您选择一个素数 $p_i$,这会使得 $n\to \lfloor \frac{n}{p_i}\rfloor\times p_i$。
您的目标是求出使得 $n$ 变为 $0$ 的最小操作数,如果不可能变为 $0$,请输出 `oo`。
为了增加难度,您需要回答 $Q$ 组 $n$。
输入输出格式
输入格式
第一行为两个整数 $m,Q$。
接下来一行 $m$ 个整数 $p$。
接下来 $Q$ 行,一行一个整数 $n$,表示每一次询问给出的 $n$。
输出格式
对于每一个询问,求出使得 $n$ 变为 $0$ 的最小操作数,如果不可能变为 $0$,请输出 `oo`。
输入输出样例
输入样例 #1
2 2
2 3
5
6
输出样例 #1
3
oo
说明
#### 数据范围及限制
- 对于 $20$ 分的数据,保证 $m,n,Q\le 10^4$。
- 对于另外 $20$ 分的数据,保证 $Q=1$。
- 对于 $100\%$ 的数据,保证 $1\le m,Q\le 10^5$,$2\le p_i\le 10^7$ 且 $p_i$ 为素数,$1\le n\le 10^7$。
#### 说明
本题译自 [Baltic Olympiad in Informatics 2013](https://boi.cses.fi/tasks.php) [Day 2](https://boi.cses.fi/files/boi2013_day2.pdf) T1 Brunhilda’s Birthday。
因为译题人找不到合适的设置,所以本题满分 $110$ 分。