結果

問題 No.45 回転寿司
ユーザー バカらっく
提出日時 2019-09-09 17:55:16
言語 Kotlin
(2.3.20)
コンパイル:
kotlinc _filename_ -include-runtime -d main.jar
実行:
kotlin main.jar
結果
MLE  
実行時間 -
コード長 645 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 8,742 ms
コンパイル使用メモリ 450,164 KB
実行使用メモリ 990,696 KB
最終ジャッジ日時 2026-03-17 06:32:19
合計ジャッジ時間 94,681 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3 MLE * 1
other AC * 14 TLE * 5 MLE * 11
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

fun main(arr:Array<String>) {
    val susiCount = readLine()!!.toInt()
    susiList.addAll(readLine()!!.split(" ").map { it.toInt() })
    val ans = getAns(0, 0)
    println(ans)
}

val susiList = mutableListOf<Int>()

val dic = mutableMapOf<Int, MutableMap<Int, Int>>()

fun getAns(idx:Int, subTotal:Int):Int {
    if (idx >= susiList.size) {
        return subTotal
    }
    if(!dic.containsKey(idx)) {
        dic[idx] = mutableMapOf()
    }
    dic[idx]!![subTotal]?.let { return it }

    var ans = getAns(idx + 2, subTotal + susiList[idx])
    ans = Math.max(getAns(idx + 1, subTotal), ans)
    dic[idx]!![subTotal] = ans
    return ans
}
0