結果
問題 | No.3025 Chocol∀te |
ユーザー |
👑 ![]() |
提出日時 | 2025-02-11 05:55:42 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,313 bytes |
コンパイル時間 | 409 ms |
コンパイル使用メモリ | 81,944 KB |
実行使用メモリ | 405,388 KB |
最終ジャッジ日時 | 2025-02-14 05:26:06 |
合計ジャッジ時間 | 28,493 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 40 WA * 14 |
ソースコード
import sysinput = sys.stdin.readlineN, M = map(int, input().split())G = [set() for _ in range(N)]A = [0] * NB = 500big = [0] * Nbig_deg = []sum = [0] * NH = [[] for _ in range(N)]def add(a, b):if b in G[a]:G[a].remove(b)if big[a] == 0:sum[b] -= A[a]else:H[a][b] = 0else:G[a].add(b)if big[a] == 0:sum[b] += A[a]if B == len(G[a]):big_deg.append(a)big[a] = 1H[a] = [0] * Nfor x in G[a]: H[a][x] = 1else:H[a][b] = 1def upd_A(ind, a):diff = a - A[ind]A[ind] = aif big[ind] == 0:for x in G[ind]: sum[x] += difffor i in range(M):a, b = map(int, input().split())a -= 1; b -= 1add(a, b)add(b, a)fa = list(map(int, input().split()))for i in range(N):upd_A(i, fa[i])Q = int(input())for _ in range(Q):t = list(map(int, input().split()))if t[0] == 1:a, b = t[1], t[2]a -= 1; b -= 1add(a, b)add(b, a)if t[0] == 2:i, a = t[1], t[2]i -= 1upd_A(i, a)if t[0] == 3:c = t[1]c -= 1ans = sum[c]for x in big_deg: ans += A[x] * H[x][c]print(ans)