| Codeforces Round 1081 (Div. 2) |
|---|
| Закончено |
Для дерева $$$T$$$ с корнем $$$r$$$, где каждой вершине $$$u$$$ соответствует значение $$$a_u$$$, определим его стоимость следующим образом:
$$$$$$\sum_{u\in T} (a_u \cdot d(r,u))$$$$$$
Здесь сумма берётся по всем вершинам $$$u$$$ в дереве $$$T$$$, а $$$d(r,u)$$$ обозначает количество рёбер на кратчайшем пути от вершины $$$r$$$ до вершины $$$u$$$ в дереве.
Вам дано дерево, состоящее из $$$n$$$ вершин, с корнем в вершине $$$1$$$. Каждой вершине $$$i$$$ соответствует значение $$$a_i$$$. Для каждого $$$r$$$ от $$$1$$$ до $$$n$$$ решите следующую задачу независимо:
Рассмотрите поддерево вершины $$$r$$$ относительно вершины $$$1$$$. Формально, поддерево вершины $$$r$$$ — это дерево, состоящее из всех вершин $$$u$$$, таких что кратчайший путь от $$$1$$$ до $$$u$$$ проходит через $$$r$$$.
Найдите максимальную стоимость поддерева после выполнения не более одной операции следующего типа на поддереве:
$$$^{\text{∗}}$$$Формально, удалите ребро от $$$u$$$ к $$$p$$$, где $$$p$$$ — единственная вершина, удовлетворяющая $$$d(u,p)=1$$$ и $$$d(u,r)=d(p,r)+1$$$
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — количество вершин в дереве.
Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 2 \cdot 10^5$$$).
Затем следуют $$$n − 1$$$ строк, $$$i$$$-я строка содержит два целых числа $$$u$$$ и $$$v$$$ ($$$1 \le u, v \le n$$$) — две вершины, которые соединяет $$$i$$$-е ребро.
Гарантируется, что заданные рёбра образуют дерево.
Гарантируется, что сумма $$$n$$$ не превосходит $$$2 \cdot 10^5$$$ по всем наборам входных данных.
Для каждого набора входных данных выведите $$$n$$$ чисел — ответы для $$$r=1,2,\ldots,n$$$.
351 3 2 1 21 22 33 43 571 2 3 1 3 2 11 22 33 44 54 63 755 4 3 2 11 22 33 44 5
18 10 5 0 040 28 18 8 0 0 020 10 4 1 0
В первом наборе входных данных, для $$$r=1$$$, оптимально выбрать $$$u=5$$$ и $$$v=4$$$. Стоимость дерева тогда равна $$$1\cdot 0 + 3\cdot 1+2\cdot 2+1\cdot 3+2\cdot 4=18$$$. Можно показать, что большую стоимость получить нельзя.
Для $$$r=4$$$, например, в поддереве только $$$1$$$ вершина, поэтому операция невозможна. Единственная возможная стоимость поддерева — $$$0$$$.
| Название |
|---|


