結果
問題 |
No.2767 Add to Divide
|
ユーザー |
|
提出日時 | 2024-06-01 11:34:58 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 90 ms / 2,000 ms |
コード長 | 690 bytes |
コンパイル時間 | 276 ms |
コンパイル使用メモリ | 82,096 KB |
実行使用メモリ | 62,976 KB |
最終ジャッジ日時 | 2024-12-21 17:50:26 |
合計ジャッジ時間 | 2,223 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 16 |
ソースコード
def find_minimum_X(A, B): if A == B: return 0 min_X = float('inf') difference = B - A def get_factors(n): factors = set() for i in range(1, int(n**0.5) + 1): if n % i == 0: factors.add(i) factors.add(n // i) return factors for factor in get_factors(difference): k = factor + 1 if k > 1 and (B - k * A) % (k - 1) == 0: X = (B - k * A) // (k - 1) if X >= 0: min_X = min(min_X, X) return min_X if min_X != float('inf') else -1 T = int(input()) for _ in range(T): A, B = map(int, input().split()) print(find_minimum_X(A, B))