結果
問題 |
No.872 All Tree Path
|
ユーザー |
|
提出日時 | 2022-07-23 18:26:28 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 799 ms / 3,000 ms |
コード長 | 525 bytes |
コンパイル時間 | 147 ms |
コンパイル使用メモリ | 82,248 KB |
実行使用メモリ | 347,928 KB |
最終ジャッジ日時 | 2024-07-05 08:12:01 |
合計ジャッジ時間 | 7,441 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 18 |
ソースコード
import sys sys.setrecursionlimit(10**7) n = int(input()) uvw = [[] for i in range(n)] ki = [] for i in range(n-1): u,v,w = map(int,input().split()) u -= 1 v -= 1 uvw[u].append([v,w]) uvw[v].append([u,w]) ki.append([u,v,w]) li = [1]*n def dfs(v,pre): global li for V,w in uvw[v]: if V == pre: continue li[v] += dfs(V,v) return li[v] dfs(0,-1) ans = 0 for i in range(n-1): u,v,w = ki[i] val = min(li[u],li[v]) ans += w*val*(n-val) print(ans*2)