結果
問題 |
No.3307 Almost Equal
|
ユーザー |
![]() |
提出日時 | 2025-10-05 13:36:16 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 31 ms / 2,000 ms |
コード長 | 634 bytes |
コンパイル時間 | 238 ms |
コンパイル使用メモリ | 12,160 KB |
実行使用メモリ | 10,368 KB |
最終ジャッジ日時 | 2025-10-05 13:38:04 |
合計ジャッジ時間 | 3,380 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 46 |
ソースコード
def floor_sum(n, m, a, b) : ans = 0 while n > 0 : if a >= m : ans += a // m * (n * (n-1) // 2) a %= m if b >= m : ans += b // m * n b %= m y_max = a * n + b if y_max < m : return ans n = y_max // m b = y_max % m y_max = a a = m m = y_max return ans a,b,c,d = map(int,input().split()) if a * d < c * b : a,b,c,d = c,d,a,b if a * d == c * b : print(-1) exit(0) n = b * d // (a * d - b * c) ans = n - floor_sum(n + 1, b*2, a*2, b) + floor_sum(n + 1, d*2, c*2, d) print(ans)