結果

問題 No.22 括弧の対応
ユーザー mkanenobumkanenobu
提出日時 2018-03-30 09:45:33
言語 Nim
(2.0.2)
結果
WA  
実行時間 -
コード長 553 bytes
コンパイル時間 2,980 ms
コンパイル使用メモリ 71,060 KB
実行使用メモリ 4,504 KB
最終ジャッジ日時 2023-09-12 17:56:59
合計ジャッジ時間 3,917 ms
ジャッジサーバーID
(参考情報)
judge15 / judge11
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
4,376 KB
testcase_01 AC 1 ms
4,380 KB
testcase_02 AC 1 ms
4,376 KB
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 WA -
testcase_15 WA -
testcase_16 WA -
testcase_17 AC 2 ms
4,380 KB
testcase_18 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

import sequtils, strutils, algorithm

var
    n,k,e,target:int
    nk = readLine(stdin).split.map(parseInt)
    s = readLine(stdin)
    rev:bool

(n,k) = nk

if k > int(len(s) / 2):
    reverse(s)
    k = s.len - k + 1
    rev = true

proc main():seq[int] =
    result = @[]
    for i in 0..<s.len:
        if i == k - 1:
            target = e
        if s[i] == '(':
            e += 1
        elif s[i] == ')':
            e -= 1
        if e == target:
            result.add(i)

if rev == true: echo len(s) - max(main())
else: echo max(main()) + 1
0