結果
| 問題 | No.22 括弧の対応 |
| コンテスト | |
| ユーザー |
norioc
|
| 提出日時 | 2015-11-13 08:31:57 |
| 言語 | Scala(Beta) (3.8.2) |
| 結果 |
AC
|
| 実行時間 | 337 ms / 5,000 ms |
| + 970µs | |
| コード長 | 714 bytes |
| 記録 | |
| コンパイル時間 | 7,487 ms |
| コンパイル使用メモリ | 272,932 KB |
| 実行使用メモリ | 59,480 KB |
| 最終ジャッジ日時 | 2026-07-28 12:16:52 |
| 合計ジャッジ時間 | 14,829 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 19 |
ソースコード
import math._
import util.control.Breaks._
import scala.collection.mutable.ArrayBuffer
object Main {
def main(args: Array[String]) = {
val sc = new java.util.Scanner(System.in)
val n, k = sc.nextInt
val s = sc.next
val xs = new ArrayBuffer[(Int, Char)] // (インデックス, 括弧文字)
breakable {
for (i <- 0 to s.length-1) s(i) match {
case '(' => xs.append((i, '('))
case ')' => {
assert(xs.last._2 == '(')
if (i == k-1) {
println(xs.last._1 + 1)
break
}
if (xs.last._1 == k-1) {
println(i+1)
break
}
}
xs.remove(xs.length-1)
}
}
}
}
norioc