結果

問題 No.2227 King Kraken's Attack
ユーザー hitonanode
提出日時 2025-08-06 00:32:24
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 281 ms / 2,000 ms
コード長 674 bytes
コンパイル時間 727 ms
コンパイル使用メモリ 80,728 KB
実行使用メモリ 7,716 KB
最終ジャッジ日時 2025-08-06 00:32:29
合計ジャッジ時間 4,370 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 42
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
using namespace std;

int main() {
    long long H, W, La, Lb, Ka, Kb;
    cin >> H >> W >> La >> Lb >> Ka >> Kb;
    long long ret = H + W;

    for (int iter = 0; iter < 2; ++iter) {
        for (long long A = 0; A <= H; ++A) {
            const long long h = min(H, A * La);
            long long lo = -1, hi = ret - A;
            while (hi - lo > 1) {
                long long t = (lo + hi) / 2, w = min(W, Lb * t);
                (h * w + A * Ka + t * Kb >= H * W ? hi : lo) = t;
            }
            if (hi + A < ret) ret = hi + A;
        }

        swap(H, W);
        swap(La, Lb);
        swap(Ka, Kb);
    }
    cout << ret << '\n';
}
0