ABC296D - M<=ab

考え方

探索範囲を絞ったあと,全探索できる.

回答例

import math
N, M = map(int, input().split())

ans = 1 << 60
for a in range(1, math.ceil(M ** 0.5) + 1):
    b = (M + a - 1) // a
    if 1 <= a <= b <= N:
        ans = min(ans, a*b)

print(-1 if ans == 1 << 60 else ans)

$a > b$となったらbreakとすれば$\sqrt{M}$の計算の必要がない:
Submission #40214986 - AtCoder Beginner Contest 296
Submission #40202236 - AtCoder Beginner Contest 296