結果
| 問題 | No.1446 ハンバーグと納豆ごはん | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2021-03-31 18:24:46 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 37 ms / 2,000 ms | 
| コード長 | 412 bytes | 
| コンパイル時間 | 539 ms | 
| コンパイル使用メモリ | 82,368 KB | 
| 実行使用メモリ | 53,496 KB | 
| 最終ジャッジ日時 | 2024-12-15 05:59:32 | 
| 合計ジャッジ時間 | 2,577 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 33 | 
ソースコード
a,b,n,m = map(int,input().split())
if b > a:
    a,b = b,a
    n,m = m,n
l = 0
r = (a-b+n-1)//n
def calc(x):
    nb = b + x//n
    na = a - x//n * n
    return min(na,nb)
while r > l + 2:
    c1 = (2*l+r)//3
    c2 = (l+2*r)//3
    cal1 = calc(c1*n)
    cal2 = calc(c2*n)
    if cal1 < cal2:
        l = c1
    else:
        r = c2
ans = 0
for i in range(l-1,r+2):
    ans = max(ans,calc(i*n))
print(ans)
            
            
            
        