#P917. 最远隔离

最远隔离

背景

统计了每个城市疫情的情况之后,为了降低感染的几率,切断了一些城市之间的道路,现在每两个城市之间有且仅有唯一一条简单路(所有城市构成一棵树)。形势严峻,需要找最远的距离隔离确诊病例。

问题描述

一共有n个城市,一共有n-1条道路将这些城市链接,作为疫情防控指挥中心主任的你,需要快速地统计出来距离每个城市最远的城市之间的距离。

输入格式

第一行一个正整数n,

接下来n-1行,每行两个互不相同的正整数x,y,z,表示城市x和y之间有一条长度为z道路。

输出格式

一共n行,第i行的一个正整数表示距城市i最远的城市之间的距离。

样例输入

7 1 2 3 1 6 2 2 3 4 2 4 5 3 5 1 6 7 6

样例输出

8 11 15 16 16 10 16

时间限制

由于疫情紧急,你需要在1s之内得到所有结果

注释 Hint

对于所有的数据n<=1e5,不保证数据随机,保证在int范围内 暴力给40pts,时限在std两倍以上

来源 Source

idea:光明正大 solution:光明正大 data:光明正大 std:光明正大