結果

問題 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 ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 9,732 ms
コンパイル使用メモリ 512,008 KB
実行使用メモリ 593,756 KB
最終ジャッジ日時 2026-07-31 23:57:45
合計ジャッジ時間 22,091 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample -- * 4
other AC * 1 MLE * 2 -- * 27
権限があれば一括ダウンロードができます

ソースコード

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