結果

問題 No.899 γatheree
ユーザー gew1fw
提出日時 2025-06-12 14:06:33
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 921 bytes
コンパイル時間 184 ms
コンパイル使用メモリ 82,468 KB
実行使用メモリ 254,528 KB
最終ジャッジ日時 2025-06-12 14:06:45
合計ジャッジ時間 11,527 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 20 TLE * 1 -- * 2
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
from sys import stdin

def main():
    input = sys.stdin.read().split()
    ptr = 0
    N = int(input[ptr])
    ptr += 1

    edges = [[] for _ in range(N)]
    for _ in range(N-1):
        u = int(input[ptr])
        v = int(input[ptr+1])
        edges[u].append(v)
        edges[v].append(u)
        ptr += 2

    A = list(map(int, input[ptr:ptr+N]))
    ptr += N

    Q = int(input[ptr])
    ptr += 1

    for _ in range(Q):
        x = int(input[ptr])
        ptr += 1

        visited = set()
        visited.add(x)
        for y in edges[x]:
            if y not in visited:
                visited.add(y)
        for y in edges[x]:
            for z in edges[y]:
                if z != x and z not in visited:
                    visited.add(z)

        s = 0
        for y in visited:
            s += A[y]
            A[y] = 0
        A[x] += s
        print(s)

if __name__ == "__main__":
    main()
0