結果

問題 No.2311 [Cherry 5th Tune] Cherry Month
ユーザー 👑 KazunKazun
提出日時 2023-02-20 19:39:32
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 1,176 bytes
コンパイル時間 390 ms
コンパイル使用メモリ 82,308 KB
実行使用メモリ 177,332 KB
最終ジャッジ日時 2024-05-09 07:58:53
合計ジャッジ時間 9,521 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 35 ms
53,744 KB
testcase_01 AC 34 ms
53,836 KB
testcase_02 TLE -
testcase_03 -- -
testcase_04 -- -
testcase_05 -- -
testcase_06 -- -
testcase_07 -- -
testcase_08 -- -
testcase_09 -- -
testcase_10 -- -
testcase_11 -- -
testcase_12 -- -
testcase_13 -- -
testcase_14 -- -
testcase_15 -- -
testcase_16 -- -
testcase_17 -- -
testcase_18 -- -
testcase_19 -- -
testcase_20 -- -
testcase_21 -- -
testcase_22 -- -
testcase_23 -- -
testcase_24 -- -
testcase_25 -- -
testcase_26 -- -
testcase_27 -- -
testcase_28 -- -
testcase_29 -- -
testcase_30 -- -
testcase_31 -- -
testcase_32 -- -
testcase_33 -- -
testcase_34 -- -
testcase_35 -- -
testcase_36 -- -
testcase_37 -- -
testcase_38 -- -
testcase_39 -- -
testcase_40 -- -
testcase_41 -- -
testcase_42 -- -
testcase_43 -- -
testcase_44 -- -
testcase_45 -- -
testcase_46 -- -
testcase_47 -- -
testcase_48 -- -
testcase_49 -- -
testcase_50 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

def solve():
    N=int(input())
    A=[-1]+list(map(int,input().split()))

    T=int(input())
    F=[0]*(T+1); X=[0]*(T+1); Y=[0]*(T+1)
    for t in range(1,T+1):
        F[t],X[t],Y[t]=map(int,input().split())

    Question=[[] for _ in range(T+1)]
    Q=int(input())
    for q in range(Q):
        S,I=map(int,input().split())
        Question[S].append((q,I))

    G=[[i] for i in range(N+1)]
    Ans=[0]*Q
    for t in range(T+1):
        if F[t]==1:
            G[X[t]].append(Y[t])
            G[Y[t]].append(X[t])
        elif F[t]==2:
            A[X[t]]-=Y[t]
        elif F[t]==3:
            for Z in G[X[t]]:
                A[Z]-=Y[t]
        elif F[t]==4:
            stack=[X[t]]
            seen={X[t]}

            while stack:
                Z=stack.pop()

                A[Z]-=Y[t]
                for W in G[Z]:
                    if W not in seen:
                        seen.add(W)
                        stack.append(W)

        for q,I in Question[t]:
            Ans[q]=max(0, A[I])
    return Ans

#==================================================
import sys
input=sys.stdin.readline
write=sys.stdout.write

write("\n".join(map(str,solve())))
0