ABC112 D - Partition
問題
解法
求める解を とすると、
- ...
のように表せます。
より、 が成り立ちます。 したがって、 は の約数です。
より、 です。 したがって、 、すなわち、 が成り立ちます。
以上より、以下を満たす最大の整数 を求めればよいです。
- は の約数である
ACしたコード
from math import sqrt N, M = map(int, input().split()) ans = max(M // i if M // i <= M / N else i for i in range(1, int(sqrt(M)) + 1) if M % i == 0 and i <= M / N) print(ans)