結果
| 問題 |
No.9 モンスターのレベル上げ
|
| ユーザー |
バカらっく
|
| 提出日時 | 2019-08-30 16:08:09 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
AC
|
| 実行時間 | 1,206 ms / 5,000 ms |
| コード長 | 886 bytes |
| コンパイル時間 | 18,370 ms |
| コンパイル使用メモリ | 456,284 KB |
| 実行使用メモリ | 88,444 KB |
| 最終ジャッジ日時 | 2024-11-21 12:08:55 |
| 合計ジャッジ時間 | 33,004 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 20 |
コンパイルメッセージ
Main.kt:3:10: warning: parameter 'arr' is never used
fun main(arr:Array<String>) {
^
ソースコード
import java.util.*
fun main(arr:Array<String>) {
val count = readLine()!!.toInt()
var ans = count
val mikataLevel = readLine()!!.split(" ").map { it.toInt() }
val teki = readLine()!!.split(" ").map { it.toInt() }
for(i in mikataLevel.indices) {
val que = PriorityQueue<Mikata> { o1, o2 -> if(o1.level == o2.level) o1.count.compareTo(o2.count) else o1.level.compareTo(o2.level) }
mikataLevel.forEach{que.add(Mikata(it, 0))}
for(j in mikataLevel.indices) {
val idx = (i+j)%count
val mikata = que.poll()
mikata.level += teki[idx]/2
mikata.count++
que.add(mikata)
if(mikata.count > ans) {
break
}
}
ans = Math.min(ans, que.toList().maxBy { it.count }!!.count)
}
println(ans)
}
class Mikata(var level:Int, var count:Int)
バカらっく