結果

問題 No.2227 King Kraken's Attack
コンテスト
ユーザー detteiuu
提出日時 2026-09-11 23:28:44
言語 PyPy3
(7.3.23 + ACL)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 433 ms / 2,000 ms
+ 408µs
コード長 826 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 77 ms
コンパイル使用メモリ 80,896 KB
実行使用メモリ 73,344 KB
最終ジャッジ日時 2026-09-11 23:29:28
合計ジャッジ時間 9,308 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 42
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

H, W, LA, LB, KA, KB = map(int, input().split())

ans = 1<<60
if 1 <= KB: ans = min(ans, (H*W+KB-1)//KB)
if 1 <= KA: ans = min(ans, (H*W+KA-1)//KA)

for h in range(1, H+W+1):
    left = -1
    right = (W+LB-1)//LB+1
    while left+1 < right:
        mid = (left+right)//2
        if min(LA*h, H)*min(LB*mid, W)+KA*h+KB*mid < H*W:
            left = mid
        else:
            right = mid
    if H*W <= min(LA*h, H)*min(LB*right, W)+KA*h+KB*right:
        ans = min(ans, h+right)
for w in range(1, H+W+1):
    left = -1
    right = (H+LA-1)//LA+1
    while left+1 < right:
        mid = (left+right)//2
        if min(LA*mid, H)*min(LB*w, W)+KA*mid+KB*w < H*W:
            left = mid
        else:
            right = mid
    if H*W <= min(LA*right, H)*min(LB*w, W)+KA*right+KB*w:
        ans = min(ans, right+w)

print(ans)
0