TopCoder

Caido
$\mathbb{W}\mathcal{aimai}\sim$

User's AC Ratio

86.7% (13/15)

Submission's AC Ratio

47.3% (35/74)

Tags

Description

在 2100 年的臺灣,建中逐漸發展成超級強權,佔領了臺灣的許多領地。建中總共佔領了 $n$ 個領地,可以用 $1$ 到 $n$ 的編號表示。由於建中內部有許多勢力互相爭鬥,所以每個領地各自屬於不同派別,其中,第 $i$ 個領地屬於第 $c_i$ 個派別。領地間有 $n-1$ 條雙向的道路,第 $i$ 條道路連接 $a_i$ 跟 $b_i$ ,長度為 $w_i$,這些道路使得建中的領地兩兩互相連通。

身為一個建中生,當然要請公假到處混。建中設備組推出了新的公假方案,讓你可以請公假去別的領地玩。不幸的是,為了安全著想,若你一開始在第 $x$ 個派別的領地,你也只能去其他第 $x$ 個派別的領地玩(但由於建中有著很優良的高鐵系統,所以旅途的中間可以經過其他派別的領地)。選擇去哪裡玩之後,設備組會用高鐵把你送過去,路程為這兩個領地間的最短距離。

因為你想要混越久越好,所以你想要從所有可以去旅行的領地中,選離你最遠的領地去玩。但由於建中太大了,所以你想寫一個程式,在輸入建中的地圖後,可以對 $1$ 到 $n$ 中的每個領地輸出:如果從第 $i$ 號領地出發,你的旅途距離為多長。

請注意,如果你的領地派別只有佔領你這個領地,那你沒辦法去任何地方,所以你的旅途距離為 $0$。

Input Format

第一行有一個正整數 $n$ ,意義如題目所述
第二行有 $n$ 個正整數 $c_1 \dots c_n$,意義如題目所述
接下來的 $n - 1$ 行每行有三個正整數 $a_i,b_i,w_i$ ,意義如題目所述

對於所有測試資料:

  • $1 \leq n \leq 2 \cdot 10 ^ 5$
  • $1 \leq a_i, b_i, c_i \leq n$
  • $a_i \neq b_ i$
  • $1 \leq w_i \leq 10 ^ 9$
  • 保證從每個領地,都能走到任意其他的領地

Output Format

輸出 $n$ 行,第 $i$ 行有一個正整數,代表從第 $i$ 號領地出發時你的旅途距離。

Sample Input 1

6
1 2 1 2 1 2
1 2 1
1 5 10
2 3 8
2 4 9
4 6 7

Sample Output 1

10
16
19
9
19
16

Sample Input 2

7
3 3 3 3 3 3 3
5 4 79932118
1 7 105200937
7 5 408704118
2 5 757013667
4 3 615002194
2 6 858505031

Sample Output 2

2129423753
1451947979
2310453010
1695450816
1615518698
2310453010
2024222816

Hints

Problem Source

Subtasks

No. Testdata Range Constraints Score
1 0~1 範例測資 0
2 0~12 $n \leq 2000$ 20
3 2~3, 13~20 $\forall 1 \leq i \leq n, c_i = 1$ 31
4 2~3, 13~29 $\forall 1 \leq i \leq n, c_i \leq 10$ 22
5 0~43 無特別限制 27

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 2000 262144 65536 1 2 5
1 2000 262144 65536 1 2 5
2 2000 262144 65536 2 3 4 5
3 2000 262144 65536 2 3 4 5
4 2000 262144 65536 2 5
5 2000 262144 65536 2 5
6 2000 262144 65536 2 5
7 2000 262144 65536 2 5
8 2000 262144 65536 2 5
9 2000 262144 65536 2 5
10 2000 262144 65536 2 5
11 2000 262144 65536 2 5
12 2000 262144 65536 2 5
13 2000 262144 65536 3 4 5
14 2000 262144 65536 3 4 5
15 2000 262144 65536 3 4 5
16 2000 262144 65536 3 4 5
17 2000 262144 65536 3 4 5
18 2000 262144 65536 3 4 5
19 2000 262144 65536 3 4 5
20 2000 262144 65536 3 4 5
21 2000 262144 65536 4 5
22 2000 262144 65536 4 5
23 2000 262144 65536 4 5
24 2000 262144 65536 4 5
25 2000 262144 65536 4 5
26 2000 262144 65536 4 5
27 2000 262144 65536 4 5
28 2000 262144 65536 4 5
29 2000 262144 65536 4 5
30 2000 262144 65536 5
31 2000 262144 65536 5
32 2000 262144 65536 5
33 2000 262144 65536 5
34 2000 262144 65536 5
35 2000 262144 65536 5
36 2000 262144 65536 5
37 2000 262144 65536 5
38 2000 262144 65536 5
39 2000 262144 65536 5
40 2000 262144 65536 5
41 2000 262144 65536 5
42 2000 262144 65536 5
43 2000 262144 65536 5