Tree with Maximum Cost

Tree with Maximum Cost

题面翻译

  • 有一棵 n n n 个节点的树,每个点有一个权值 a i a_i ai
  • 定义 dist ⁡ ( u , v ) \operatorname{dist}(u,v) dist(u,v) u , v u,v u,v 两点间距离。
  • 您要找到一个点 u u u,使得
    ∑ i = 1 n dist ⁡ ( i , u ) ⋅ a i \sum_{i=1}^n\operatorname{dist}(i,u)\cdot a_i i=1ndist(i,u)ai
    最大。您只需求出最大值。
  • 1 ≤ n , a i ≤ 2 × 1 0 5 1\le n,a_i\le 2\times 10^5 1n,ai2×105

题目描述

You are given a tree consisting exactly of $ n $ vertices. Tree is a connected undirected graph with $ n-1 $ edges. Each vertex $ v $ of this tree has a value $ a_v $ assigned to it.

Let $ dist(x, y) $ be the distance between the vertices $ x $ and $ y $ . The distance between the vertices is the number of edges on the simple path between them.

Let’s define the cost of the tree as the following value: firstly, let’s fix some vertex of the tree. Let it be $ v $ . Then the cost of the tree is $ \sum\limits_{i = 1}^{n} dist(i, v) \cdot a_i $ .

Your task is to calculate the maximum possible cost of the tree if you can choose $ v $ arbitrarily.

输入格式

The first line contains one integer $ n $ , the number of vertices in the tree ( $ 1 \le n \le 2 \cdot 10^5 $ ).

The second line of the input contains $ n $ integers $ a_1, a_2, \dots, a_n $ ( $ 1 \le a_i \le 2 \cdot 10^5 $ ), where $ a_i $ is the value of the vertex $ i $ .

Each of the next $ n - 1 $ lines describes an edge of the tree. Edge $ i $ is denoted by two integers $ u_i $ and $ v_i $ , the labels of vertices it connects ( $ 1 \le u_i, v_i \le n $ , $ u_i \ne v_i $ ).

It is guaranteed that the given edges form a tree.

输出格式

Print one integer — the maximum possible cost of the tree if you can choose any vertex as $ v $ .

样例 #1

样例输入 #1

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

样例输出 #1

121

样例 #2

样例输入 #2

1
1337

样例输出 #2

0

提示

Picture corresponding to the first example:

You can choose the vertex $ 3 $ as a root, then the answer will be $ 2 \cdot 9 + 1 \cdot 4 + 0 \cdot 1 + 3 \cdot 7 + 3 \cdot 10 + 4 \cdot 1 + 4 \cdot 6 + 4 \cdot 5 = 18 + 4 + 0 + 21 + 30 + 4 + 24 + 20 = 121 $ .

In the second example tree consists only of one vertex so the answer is always $ 0 $ .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值