結果
問題 |
No.1446 ハンバーグと納豆ごはん
|
ユーザー |
![]() |
提出日時 | 2025-02-12 04:01:37 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 36 ms / 2,000 ms |
コード長 | 480 bytes |
コンパイル時間 | 403 ms |
コンパイル使用メモリ | 82,776 KB |
実行使用メモリ | 53,820 KB |
最終ジャッジ日時 | 2025-02-12 04:01:40 |
合計ジャッジ時間 | 2,896 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 33 |
ソースコード
A, B, N, M = map(int, input().split()) # k 個作れるか? def can(k: int) -> bool: def f(a, n, b, m): if a < k and b < k: return False if a < k: return f(b, m, a, n) assert a >= k extra_a = max(0, k-b) * n return a - extra_a >= k return f(A, N, B, M) lo = 0 hi = max(A, B) ans = lo while lo <= hi: m = (lo + hi) // 2 if can(m): ans = max(ans, m) lo = m + 1 else: hi = m - 1 print(ans)