結果

問題 No.22 括弧の対応
コンテスト
ユーザー バカらっく
提出日時 2019-09-02 00:27:28
言語 Kotlin
(2.4.10 + ACL)
コンパイル:
kotlinc -cp /opt/aclib/ac_library.jar _filename_ -include-runtime -d main.jar
実行:
java -cp main.jar:/opt/aclib/ac_library.jar _class_
結果
AC  
実行時間 230 ms / 5,000 ms
+ 423µs
コード長 691 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 10,258 ms
コンパイル使用メモリ 497,056 KB
実行使用メモリ 55,288 KB
最終ジャッジ日時 2026-08-19 18:38:04
合計ジャッジ時間 16,512 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 19
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

fun main(args: Array<String>) {
    val (n,k) = readLine()!!.split(" ").map { it.toInt() }
    val s = readLine()!!
    val list = mutableListOf<Kakko>()
    s.indices.forEach { list.add(Kakko(it, s[it] == '(')) }
    var ans = -1
    while (list.isNotEmpty()) {
        val idx = list.indexOfLast { it.isLeft }
        val right = list[idx + 1]
        val left = list[idx]
        if(right.index == k - 1) {
            ans = left.index
            break
        } else if(left.index == k - 1) {
            ans = right.index
            break
        }
        list.removeAt(idx + 1)
        list.removeAt(idx)
    }
    println(ans + 1)
}

class Kakko(val index:Int, val isLeft:Boolean)
0