Submission #7003989
Source Code Expand
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10 ** 7)
# 遅延評価で加えてあげるだけ
N,Q = map(int,input().split())
AB = [[int(x) for x in input().split()] for _ in range(N-1)]
PX = [[int(x) for x in input().split()] for _ in range(Q)]
graph = [[] for _ in range(N+1)]
for a,b in AB:
graph[a].append(b)
graph[b].append(a)
value = [0] * (N+1)
for p,x in PX:
value[p] += x
q = [(1,0)]
while q:
x,parent = q.pop()
value[x] += value[parent]
for y in graph[x]:
if y == parent:
continue
q.append((y,x))
answer = ' '.join(map(str,value[1:]))
print(answer)
Submission Info
| Submission Time | |
|---|---|
| Task | D - Ki |
| User | maspy |
| Language | Python (3.4.3) |
| Score | 400 |
| Code Size | 667 Byte |
| Status | AC |
| Exec Time | 1299 ms |
| Memory | 124240 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 400 / 400 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | a01, a02 |
| All | a01, a02, b03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| a01 | AC | 17 ms | 3064 KiB |
| a02 | AC | 18 ms | 3064 KiB |
| b03 | AC | 17 ms | 3064 KiB |
| b04 | AC | 1235 ms | 123320 KiB |
| b05 | AC | 1116 ms | 119020 KiB |
| b06 | AC | 1151 ms | 116728 KiB |
| b07 | AC | 1087 ms | 112300 KiB |
| b08 | AC | 1283 ms | 124240 KiB |
| b09 | AC | 1274 ms | 121408 KiB |
| b10 | AC | 1254 ms | 123400 KiB |
| b11 | AC | 1299 ms | 123484 KiB |
| b12 | AC | 1276 ms | 123340 KiB |
| b13 | AC | 1163 ms | 115312 KiB |
| b14 | AC | 1216 ms | 116552 KiB |