QOJ.ac

QOJ

時間限制: 0.5 s 記憶體限制: 256 MB 總分: 100

#18551. 这算什么 Flex?

统计

在本题中,你需要找到在特定顺序下的下一个整数,该整数与给定整数具有相同的质因数集合。

考古学家 Kris 正在研究最近在 Adobe 溪流附近发现的古老平台 Flex。在这个平台上,曾经刻有由“先贤”(The Elders)创造的不同版本传送器的编号。每个版本号都是 $1$ 到 $N$ 之间的整数。在平台上,有几列数字,每列对应一个传送器。每列曾经按建造顺序记录了该传送器所有已创造的版本。不幸的是,其中一些数字被擦除了。

Kris 刚刚结束对传送器 $b$ 的版本 $a$ 的研究,他现在准备检查该传送器的下一个版本。但他甚至不知道它的编号!另一方面,任何作为本题正确解法的程序都必须知道它。以下是 Kris 已经了解的关于传送器版本号的信息:

  1. $1$ 到 $N$ 之间的每个数字都是某个传送器的某个版本的编号。
  2. 同一传送器的不同版本具有不同的编号。
  3. 每个传送器都有其专属的质数集合。稍后,我们考虑一个固定的传送器。设其质数集合为 $X = \{p_1, p_2, \dots, p_m\}$(我们对其进行排序,使得 $p_1 < p_2 < \dots < p_m$)。
  4. 已知该传送器的任何版本号都能被 $X$ 中的每个质数整除,且不能被不在 $X$ 中的质数整除。这意味着该数字可以写成 $p_1^{k_1} p_2^{k_2} \dots p_m^{k_m}$ 的形式,其中 $k_i \ge 1$。因此,该传送器的每个版本都可以映射到一个由 $m$ 个正整数组成的元组 $(k_1, k_2, \dots, k_m)$。
  5. 版本 $\alpha = (k_1, k_2, \dots, k_m)$ 在版本 $\beta = (l_1, l_2, \dots, l_m)$ 之前建造,当且仅当存在一个 $i$($0 \le i < m$)满足 $k_1 = l_1, k_2 = l_2, \dots, k_i = l_i$,但 $k_{i+1} < l_{i+1}$。可以说,这些版本是按照其元组的字典序进行排序的。

输入格式

输入的唯一一行包含两个整数——传送器的版本号 $a$ 和数量 $N$($1 \le a \le N \le 10^{18}$)。

输出格式

如果存在同一个传送器的另一个版本,且它是在版本 $a$ 之后紧接着建造的,则输出其编号。否则,输出 “-1”。

样例

输入样例 1

6 13

输出样例 1

12

输入样例 2

12 13

输出样例 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.