結果

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

ソースコード

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