結果
| 問題 |
No.9 モンスターのレベル上げ
|
| コンテスト | |
| ユーザー |
こる
|
| 提出日時 | 2017-01-07 14:20:48 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,601 bytes |
| コンパイル時間 | 5,041 ms |
| コンパイル使用メモリ | 79,240 KB |
| 実行使用メモリ | 57,972 KB |
| 最終ジャッジ日時 | 2024-12-17 16:03:50 |
| 合計ジャッジ時間 | 10,834 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 6 WA * 14 |
ソースコード
import java.util.*;
import java.io.*;
public class No009 {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int n=Integer.parseInt(br.readLine());
int[] a=new int[n];
int[] b=new int[n];
StringTokenizer st=new StringTokenizer(br.readLine());
for(int i=0;i<n;i++){ a[i]=Integer.parseInt(st.nextToken()); }
st=new StringTokenizer(br.readLine());
for(int i=0;i<n;i++){ b[i]=Integer.parseInt(st.nextToken())/2; }
int max=0;
int min=1000000000;
for(int i=0;i<n;i++){
Queue<zako> q=new PriorityQueue(new my());
for(int nn:a){ q.add(new zako(nn,0)); }
max=0;
for(int j=i;j<n+i;j++){
zako z=q.poll();
z.level+=b[i%n];
z.times++;
if(z.times>min) break;
if(z.times>max) max=z.times;
q.add(z);
}min=Math.min(min,max);
}System.out.println(min);
}
}
class my implements Comparator{
public int compare(Object obj1,Object obj2){
zako z1=(zako)obj1;
zako z2=(zako)obj2;
if(z1.times+z1.level*100000>z2.times+z2.level*100000){
return 1;
}else if(z1.times+z1.level*100000<z2.times+z2.level*100000){
return -1;
}else{
return 0;
}
}
}
class zako{
int level;
int times;
zako(int level,int times){
this.level=level;
this.times=times;
}
}
こる