Problems
Contests
Events
Topic
IDE
PacketHub
Login
Description
Editorial
My Submission
1064.Divide Tree
Look up all submission
Status
Time
Memory
Lang.
Submit Date
1064.Divide Tree
Time Limit:1000MS Memory Limit:65535KB
Description
As we all know that we can consider a tree as a graph. Now give you a tree with nodes having its weight. We define the weight of a tree is the sum of the weight of all nodes on it. You know we can divide the tree into two subtrees by any edge of the tree. And your task is to tell me the minimum difference between the two subtrees' weight.
Input
The first line, an integer T (T<= 30), representing T test cases blew. For each test case, the first line contains one integer N (2<=N<= 10000), indicating the number of tree's nodes. Then follow N integers in one line, indicating the weight of nodes from 1 to N. For next N-1 lines, each line contains two integers V~i and V~j (1<= V~i, V~j<= N), indicating one edge of the tree.
Output
For each test case, output the minimum weight difference. We assume that the result will not exceed 2^20^.
Sample test
Sample input
1 5 6 3 9 3 1 2 3 3 1 4 1 1 5
Sample output
2
Note
Tags
trees
dfs
Post editorial
Editorials
GNU C++ 9.3.0
GNU C 9.3.0
Java 1.8
Python 3.8.4
Lua 5.3
GO 1.12.4
JS - (nodejs 10.19.0)
Login before submit
Test Input
Test Output
1 5 6 3 9 3 1 2 3 3 1 4 1 1 5
Please run you code firstly.
Console
IDE Setting
字体设置
调整适合你的字体大小。
12px
13px
14px
15px
16px
18px
20px
主题设置
切换不同的代码编辑器主题,选择适合你的语法高亮。
Visual Studio
Visual Studio Dark
High Contrast Dark
行宽限制
设置每一行代码的最大字符个数,设置为0则不限制。
0
80
100
120