結果
問題 |
No.1637 Easy Tree Query
|
ユーザー |
![]() |
提出日時 | 2021-08-08 15:15:14 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 202 ms / 2,000 ms |
コード長 | 652 bytes |
コンパイル時間 | 451 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 97,528 KB |
最終ジャッジ日時 | 2024-09-19 11:36:36 |
合計ジャッジ時間 | 7,193 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 33 |
ソースコード
import sys import io, os input = io.BytesIO(os.read(0,os.fstat(0).st_size)).readline n, q = map(int, input().split()) g = [[] for i in range(n)] for i in range(n-1): a, b = map(int, input().split()) a, b = a-1, b-1 g[a].append(b) g[b].append(a) s = [] order = [] par = [-1]*n s.append(0) while s: v = s.pop() order.append(v) for u in g[v]: if par[v] == u: continue par[u] = v s.append(u) order.reverse() C = [1]*n for v in order: if par[v] != -1: C[par[v]] += C[v] ans = 0 for i in range(q): p, x = map(int, input().split()) p -= 1 ans += C[p]*x print(ans)