結果

問題 No.3503 Brackets Stack Query 2
コンテスト
ユーザー 蒸した柿ピー
提出日時 2026-04-19 16:57:21
言語 Python3
(3.14.3 + numpy 2.4.4 + scipy 1.17.1)
コンパイル:
python3 -mpy_compile _filename_
実行:
python3 _filename_
結果
TLE  
実行時間 -
コード長 853 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 524 ms
コンパイル使用メモリ 20,828 KB
実行使用メモリ 96,348 KB
最終ジャッジ日時 2026-04-19 16:58:25
合計ジャッジ時間 15,018 ms
ジャッジサーバーID
(参考情報)
judge3_1 / judge1_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample -- * 1
other AC * 8 TLE * 2 -- * 20
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

N = int(input())
S = ""
result = []
num1 = 0
num2 = 0
num3 = 0
last = ""

def judge(st):
    if not num1 == num2 or not num2 == num3:
        return "No"
    if st == "":
        return "Yes"
    return "No" if st == st.replace("(|)", "") else judge(st.replace("(|)", ""))

querys = [input().split() for _ in range(N)]

for query in querys:
    if query[0] == "1":
        c = query[-1]
        last = c
        S += c
        match c:
            case ("("):
                num1 += 1
            case (")"):
                num2 += 1
            case ("|"):
                num3 += 1
    else:
        S = S[:-1]
        match last:
            case ("("):
                num1 -= 1
            case (")"):
                num2 -= 1
            case ("|"):
                num3 -= 1

        
        last = S[-1] if S else ""
    
    print(judge(S))
0