P15240 [NHSPC 2025] 解码密钥
题目描述
在一电玩游戏里,有一个被称为「中央核心」的超级电脑控制着整个城市的运作。然而,最近中央核心被一道由恶意代码组成的防火墙锁住,城市陷入了瘫痪。
要解开这道防火墙,必须输入一个特定的「解锁码」。这个解锁码不是一个简单的数字,而是第 $n$ 个「有效数字」。这座城市共有 $k$ 台特殊的服务器,其中第 $i$ 台服务器带有一个独特的密钥 $p_i$。任何一个**正整数**,只要能被这 $k$ 个密钥中的至少一个整除,就可以被视为一个「有效数字」。
给定 $n$ 和 $p_1,p_2,\ldots ,p_k$,你的任务是找出第 $n$ 个「有效数字」,将其作为解锁码输入「中央核心」,以拯救这座城市。
举例来说,若 $n=10$、$k=3$ 且密钥为 $2, 3, 5$。则因为能被 $2, 3$ 或 $5$ 整除的数依次是 $2, 3, 4, 5, 6, 8, 9, 10, 12, 14\ldots$,而第 $10$ 个数是 $14$,因此所求为 $14$。
输入格式
$$
\begin{aligned}
&n \; k \\
&p_1 \; p_2 \; \dots \; p_k
\end{aligned}
$$
* $n$ 代表你要找出第 $n$ 个有效数字。
* $k$ 代表密钥的个数。
* $p_i$ 代表第 $i$ 把密钥的数值。
输出格式
$$ans$$
* 输出一个正整数 $ans$,表示第 $n$ 个能被 $p_1,p_2,\ldots ,p_k$ 中至少一个数整除的数字。
说明/提示
### 数据限制
* $1 \le n \le 10^9$。
* $1 \le k \le 6$。
* $1 \le p_1\times p_2\times\cdots\times p_k \le 10^{18}$。
* 保证所求答案 $\le 10^{18}$。
* 输入的数皆为整数。
### 评分说明
本题共有四组子任务,条件限制如下所示。每一组可有一或多笔测试资料,该组所有测试资料皆需答对才会获得该组分数。
| 子任务 | 分数 | 额外输入限制 |
| :------: | :----: | ------------ |
| 1 | 2 | 保证所求答案 $\le 10^{6}$。 |
| 2 | 27 | $n \le 10, k \le 2$。 |
| 3 | 34 | $n \le 10^5$。 |
| 4 | 37 | 无额外限制。 |