AT_abc296_d.[ABC296D] M<=ab
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定正整数 N,M。
请你求出满足以下两个条件的最小正整数 X。如果不存在这样的 X,请输出 −1。
- X 能表示为 1 到 N 之间的两个整数 a,b 的乘积。这里 a 和 b 可以相等。
- X 不小于 M。
输入格式
输入以如下格式从标准输入读入。
N M
输出格式
输出满足题目条件的最小正整数 X。如果不存在这样的 X,请输出 −1。
输入输出样例
输入#1
5 7
输出#1
8
输入#2
2 5
输出#2
-1
输入#3
100000 10000000000
输出#3
10000000000
说明/提示
限制条件
- 1≤N≤1012
- 1≤M≤1012
- N,M 均为整数
样例解释 1
首先,7 不能表示为 1 到 5 之间的两个整数的乘积。接下来,8 可以表示为 8=2×4,即 1 到 5 之间的两个整数的乘积。因此,输出 8。
样例解释 2
1×1=1,1×2=2,2×1=2,2×2=4,因此能表示为 1 到 2 之间的两个整数的乘积的只有 1,2,4,没有不小于 5 的数。因此,输出 −1。
样例解释 3
当 a=b=100000(即 105)时,a,b 的乘积为 10000000000(即 1010),这就是答案。注意,答案可能超出 32 位整数范围。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?