結果
問題 | No.9 モンスターのレベル上げ |
ユーザー | spacia |
提出日時 | 2016-01-20 16:44:46 |
言語 | Java21 (openjdk 21) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,347 bytes |
コンパイル時間 | 1,950 ms |
コンパイル使用メモリ | 78,036 KB |
実行使用メモリ | 42,216 KB |
最終ジャッジ日時 | 2024-09-21 14:48:56 |
合計ジャッジ時間 | 12,718 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 48 ms
37,204 KB |
testcase_01 | AC | 46 ms
36,832 KB |
testcase_02 | WA | - |
testcase_03 | TLE | - |
testcase_04 | WA | - |
testcase_05 | WA | - |
testcase_06 | WA | - |
testcase_07 | WA | - |
testcase_08 | WA | - |
testcase_09 | WA | - |
testcase_10 | AC | 47 ms
36,976 KB |
testcase_11 | AC | 2,494 ms
41,276 KB |
testcase_12 | TLE | - |
testcase_13 | -- | - |
testcase_14 | -- | - |
testcase_15 | -- | - |
testcase_16 | -- | - |
testcase_17 | -- | - |
testcase_18 | -- | - |
testcase_19 | -- | - |
ソースコード
import java.io.*; import java.util.*; import java.math.*; class Main { public static void out (Object o) { System.out.println(o); } public static int solve (int[] levelM , int[] levelE) { int ret = Integer.MAX_VALUE; int len = levelM.length; Arrays.sort(levelM); for (int i = 0; i < len; i++) { for (int j = (0 + i) % len; j < len; j++) { int upIndex = 0; int min = levelM[0] & 0xfff; for (int k = 1; k < len && levelM[0] >> 12 == levelM[k] >> 12; k++) { int f = levelM[k] & 0xfff; if (f < min) { min = f; upIndex = j; } } levelM[upIndex]++; levelM[upIndex] += (levelE[j] >> 1) << 12; Arrays.sort(levelM); } int max = 0; for (int k = 0; k < len; k++) max = Math.max(max , levelM[k] & 0xfff); ret = Math.min(ret , max); } return ret; } public static void main (String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int len = Integer.parseInt(br.readLine()); String[] line1 = br.readLine().split(" "); int[] levelM = new int[len]; String[] line2 = br.readLine().split(" "); int[] levelE = new int[len]; for (int i = 0; i < len; i++) { levelM[i] = Integer.parseInt(line1[i]) << 12; levelE[i] = Integer.parseInt(line2[i]); } out(solve(levelM , levelE)); } }