結果

問題 No.4 おもりと天秤
ユーザー komkomhkomkomh
提出日時 2019-04-06 12:43:09
言語 Kotlin
(1.9.23)
結果
TLE  
実行時間 -
コード長 783 bytes
コンパイル時間 12,173 ms
コンパイル使用メモリ 439,424 KB
実行使用メモリ 113,692 KB
最終ジャッジ日時 2024-11-20 17:47:57
合計ジャッジ時間 24,992 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 300 ms
60,448 KB
testcase_01 AC 313 ms
94,928 KB
testcase_02 AC 327 ms
57,160 KB
testcase_03 AC 318 ms
56,968 KB
testcase_04 AC 291 ms
56,880 KB
testcase_05 AC 302 ms
57,104 KB
testcase_06 AC 298 ms
56,904 KB
testcase_07 AC 303 ms
57,092 KB
testcase_08 AC 309 ms
57,244 KB
testcase_09 AC 317 ms
57,028 KB
testcase_10 AC 306 ms
57,108 KB
testcase_11 AC 305 ms
57,008 KB
testcase_12 AC 296 ms
56,908 KB
testcase_13 AC 294 ms
56,836 KB
testcase_14 AC 296 ms
56,876 KB
testcase_15 AC 306 ms
56,856 KB
testcase_16 AC 305 ms
56,948 KB
testcase_17 AC 302 ms
56,888 KB
testcase_18 TLE -
testcase_19 AC 299 ms
57,040 KB
testcase_20 AC 302 ms
57,116 KB
testcase_21 AC 298 ms
57,036 KB
testcase_22 AC 302 ms
113,692 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

package yukicoder

fun main() {
    readLine()!!.toInt()
    val W: List<Int> = readLine()!!.split(" ").map(String::toInt)

    val sum: Int = W.sum()
    if (sum % 2 != 0) {
        println("impossible")
        return
    }

    val halfW = sum / 2

    fun search(index: Int, sum: Int): Boolean {
        val currentSum = sum + W[index]
        return if (currentSum > halfW) {
            false
        } else if (currentSum == halfW) {
            true
        } else {
            for (i in index + 1 until W.size) {
                if (search(i, currentSum)) {
                    return true
                }
            }
            return false
        }
    }

    when (search(0, 0)) {
        true -> println("possible")
        false -> println("impossible")
    }
}
0