結果
| 問題 |
No.10 +か×か
|
| コンテスト | |
| ユーザー |
バカらっく
|
| 提出日時 | 2019-08-30 16:53:09 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,141 bytes |
| コンパイル時間 | 14,533 ms |
| コンパイル使用メモリ | 434,788 KB |
| 実行使用メモリ | 369,168 KB |
| 最終ジャッジ日時 | 2024-11-21 13:05:20 |
| 合計ジャッジ時間 | 33,227 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 10 TLE * 2 |
コンパイルメッセージ
Main.kt:3:10: warning: parameter 'arr' is never used
fun main(arr:Array<String>) {
^
Main.kt:33:23: warning: variable 'ret3' initializer is redundant
var ret3:Return = Return(0, "-")
^
ソースコード
import java.util.*
fun main(arr:Array<String>) {
numCount = readLine()!!.toInt()
targetNum = readLine()!!.toInt()
numList = readLine()!!.split(" ").map { it.toInt() }
val ret = getAns(numList[0], 1)
println(ret.Ans)
}
var numCount = 0
var targetNum = 0
var numList = listOf<Int>()
val dic = mutableMapOf<Int, MutableMap<Int, Return>>()
fun getAns(subTotal:Int, idx:Int):Return {
if(!dic.containsKey(subTotal)) {
dic[subTotal] = mutableMapOf()
}
dic[subTotal]!![idx]?.let { return it }
if(idx >= numCount) {
return Return(subTotal, "")
}
if(subTotal > targetNum) {
return Return(subTotal, "-")
}
val ret1 = getAns(subTotal+numList[idx], idx+1)
val ret2 = getAns(subTotal*numList[idx], idx+1)
var ret3:Return = Return(0, "-")
if(ret1.Total == targetNum) {
ret3 = Return(ret1.Total, "+" + ret1.Ans)
} else if(ret2.Total == targetNum) {
ret3 = Return(ret2.Total, "*" + ret2.Ans)
} else {
ret3 = Return(ret1.Total, "")
}
dic[subTotal]!![idx] = ret3
return ret3
}
class Return(val Total:Int, val Ans:String)
バカらっく