結果
| 問題 | No.9 モンスターのレベル上げ |
| コンテスト | |
| ユーザー |
spacia
|
| 提出日時 | 2016-01-20 16:44:46 |
| 言語 | Java (openjdk 23) |
| 結果 |
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 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 4 WA * 7 TLE * 2 -- * 7 |
ソースコード
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));
}
}
spacia