#AT2528. D - M<=ab
D - M<=ab
当前没有测试数据。
D - M<=ab
分数:400分
问题描述
给定正整数$N$和$M$。
找到最小的正整数$X$,满足以下两个条件之一,如果没有这样的整数,则输出$-1$。
- $X$可以表示为介于$1$和$N$之间(包括$1$和$N$)的两个整数$a$和$b$的乘积。这里,$a$和$b$可以相等。
- $X$至少为$M$。
约束
- $1\leq N\leq 10^{12}$
- $1\leq M\leq 10^{12}$
- $N$和$M$是整数。
输入
从标准输入中以以下格式给出输入:
输出
输出最小的正整数$X$,满足上述条件之一,如果没有这样的整数,则输出$-1$。
5 7
8
首先,$7$不能表示为介于$1$和$5$之间的两个整数的乘积。
其次,$8$可以表示为介于$1$和$5$之间的两个整数的积,比如$8=2\times 4$。
因此,你应该输出$8$。
2 5
-1
由于$1\times 1=1$,$1\times 2=2$,$2\times 1=2$,和$2\times 2=4$,只有$1$,$2$和$4$可以表示为介于$1$和$2$之间的两个整数的积,
所以没有大于或等于$5$的数字可以表示为这样两个整数的积。
因此,你应该输出$-1$。
100000 10000000000
10000000000
对于$a=b=100000$ $(=10^5)$,$a$和$b$的乘积是$10000000000$ $(=10^{10})$,这是答案。
请注意,答案可能不适合$32$位整数类型。