結果
| 問題 |
No.90 品物の並び替え
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-04-24 17:44:17 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
TLE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,135 bytes |
| コンパイル時間 | 13,999 ms |
| コンパイル使用メモリ | 444,780 KB |
| 実行使用メモリ | 88,132 KB |
| 最終ジャッジ日時 | 2024-11-20 18:05:01 |
| 合計ジャッジ時間 | 23,547 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 8 TLE * 1 |
ソースコード
package yukicoder
fun main() {
val (n, m) = readLine()!!.split(" ").map(String::toInt)
val itemScores = (0 until m).map {
val (item1, item2, score) = readLine()!!.split(" ").map(String::toInt)
Triple(item1, item2, score)
}
fun getScore(items: IntArray): Int {
var score = 0
for (i in 0 until itemScores.size) {
val item = itemScores[i]
if (items.indexOf(item.first) < items.indexOf(item.second)) {
score += item.third
}
}
return score
}
fun getMaxScore(vararg items: Int): Int {
return when (items.size >= n) {
true -> getScore(items)
false -> {
var maxScore = 0
for (i in 0..n) {
if (items.contains(i)) {
continue
}
val score = getMaxScore(*items, i)
if (maxScore < score) {
maxScore = score
}
}
maxScore
}
}
}
println(getMaxScore())
}