結果

問題 No.45 回転寿司
ユーザー バカらっく
提出日時 2019-09-09 17:55:16
言語 Kotlin
(2.1.0)
結果
TLE  
実行時間 -
コード長 645 bytes
コンパイル時間 13,795 ms
コンパイル使用メモリ 433,772 KB
実行使用メモリ 314,920 KB
最終ジャッジ日時 2024-06-28 12:54:03
合計ジャッジ時間 22,638 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample -- * 4
other AC * 1 TLE * 1 -- * 28
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.kt:1:10: warning: parameter 'arr' is never used
fun main(arr:Array<String>) {
         ^
Main.kt:2:9: warning: variable 'susiCount' is never used
    val susiCount = readLine()!!.toInt()
        ^

ソースコード

diff #

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