結果

問題 No.2227 King Kraken's Attack
コンテスト
ユーザー norikame
提出日時 2023-01-19 02:18:25
言語 Java
(openjdk 26.0.2.1 + ACL)
コンパイル:
javac -J-Duser.language=en -encoding UTF8 -cp /opt/aclib/ac_library.jar _filename_
実行:
java -ea -Xmx700m -Xss256M -DONLINE_JUDGE=true -cp .:/opt/aclib/ac_library.jar _class_
結果
WA  
(最新)
AC  
(最初)
実行時間 -
コード長 897 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 2,408 ms
コンパイル使用メモリ 86,320 KB
実行使用メモリ 45,244 KB
最終ジャッジ日時 2026-09-08 21:42:16
合計ジャッジ時間 7,357 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 41 WA * 1
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

// 

import java.util.*;

public class Main_sol1 {
    private static final int INF = (int)(1e9);
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int h = sc.nextInt(), w = sc.nextInt(), la = sc.nextInt(), lb = sc.nextInt();
        long ka = sc.nextLong(), kb = sc.nextLong();
        sc.close();
        int amx = (h+la-1) / la, bmx = (w+lb-1) / lb, bcnt = bmx + 1, res = INF;
        for (int acnt=0; acnt<=amx; ++acnt) {
            int alen = Math.min(h, acnt*la);
            long adda = acnt * ka;
            while (bcnt > 0) {
                int blen = Math.min(w, (bcnt-1)*lb);
                long addb = (bcnt-1) * kb;
                if ((long)alen*blen+adda+addb < (long)h*w) break;
                --bcnt;
            }
            if (bcnt <= bmx) res = Math.min(res, acnt+bcnt);
        }
        System.out.println(res);
    }
}
0