Description

$\text{\color{black}{t}\color{red}{urtle611}}$(以下簡稱$\text{\color{black}{燒}\color{red}{雞}}$)很可愛,但在可愛之下,他最討厭二元樹了,他受過每次想上廁所都要被打掃阿姨請出去,甚至穿著運動服被提醒女廁在隔壁,於是他決定從今天開始抵制二元樹。
但同時 $\text{\color{black}{S}\color{red}{ummerain}}$ 想要給二元樹穿褲子,他有一棵根為 $1$ 的定根樹,每個點都有開心度,他可以給每個有兩個子節點的點穿褲子,然後他就會得到那個點的開心度,但他不能給子節點和他的父節點同時穿褲子,不然這樣這棵樹會不開心大叫,他也不能穿超過 $k$ 個褲子,不然樹也會大叫。
$\text{\color{black}{S}\color{red}{ummerain}}$ 想要開心,同時不想要讓$\text{\color{black}{燒}\color{red}{雞}}$發現他在玩二元樹,那他該怎麼幫樹穿褲子呢?
$n \leq 2 \cdot {10}^{5}$, $k \leq 20$, 每個點開心度 $\leq 1000$

Input Format

第一行包含兩個數字 $n (1 \leq n \leq 2 \cdot 10^{5})$ 和 $k (1 \leq k \leq 20)$
第二行包含 $n$ 個數字 $H_i (1 \leq H_i \leq 1000)$ 代表每個節點的開心度
接著 $n-1$ 行,每行包含兩個數字 $u$ 和 $v$ $(1 \leq u, v \leq n)$ 代表樹上的一個邊

Output Format

請輸出最大的開心值

Sample Input 1

11 19
515 586 887 174 744 538 709 571 673 690 970
4 1
7 1
11 5
5 1
3 6
8 9
3 10
7 8
3 2
2 1

Sample Output 1

887

Hints

Problem Source

$\text{\color{black}{t}\color{red}{urtle611}}$ 太強 :place_of_worship:

TopCoder

User's AC Ratio

100.0% (1/1)

Tags

Problem Setter

Created by roychuang

Subtasks

No. Testdata Range Score

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 1000 262144 65536
1 1000 262144 65536
2 1000 262144 65536
3 1000 262144 65536
4 1000 262144 65536
5 1000 262144 65536
6 1000 262144 65536
7 1000 262144 65536
8 1000 262144 65536
9 1000 262144 65536
10 1000 262144 65536
11 1000 262144 65536
12 1000 262144 65536
13 1000 262144 65536
14 1000 262144 65536
15 1000 262144 65536
16 1000 262144 65536
17 1000 262144 65536
18 1000 262144 65536
19 1000 262144 65536
20 1000 262144 65536