Codeforces Round 848 (Div. 2) |
---|
Закончено |
Вам дано корневое дерево, состоящее из $$$n$$$ вершин, пронумерованных от $$$1$$$ до $$$n$$$. Вершина $$$1$$$ является корнем дерева. Каждая вершина имеет целочисленное значение. Значение $$$i$$$-й вершины равно $$$a_i$$$. Следующую операцию можно выполнить не более $$$k$$$ раз:
Какое максимально возможное значение корневой вершины $$$1$$$ можно получить после не более чем $$$k$$$ операций? Формально, вы должны максимизировать значение $$$a_1$$$.
Дерево — это связный неориентированный граф без циклов. Корневое дерево — это дерево с выбранной вершиной, которая называется корнем. Поддерево вершины $$$u$$$ — это множество всех вершин $$$y$$$ таких, что простой путь от $$$y$$$ до корня проходит через $$$u$$$. Обратите внимание, что вершина $$$u$$$ входит в поддерево вершины $$$u$$$.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \leq t \leq 50\,000$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора содержит два целых числа $$$n$$$ и $$$k$$$ ($$$2 \leq n \leq 10^5$$$, $$$0 \leq k \leq n$$$) — количество вершин в дереве и количество операций.
Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \leq a_i \leq 1000$$$), где $$$a_i$$$ обозначает значение в вершине $$$i$$$.
Каждая из следующих $$$n - 1$$$ строк содержит два целых числа $$$u_i$$$ и $$$v_i$$$ ($$$1 \leq u_i, v_i \leq n$$$, $$$u_i \neq v_i$$$), обозначающих ребро дерева между вершинами $$$u_i$$$ и $$$v_i$$$. Гарантируется, что заданные ребра образуют дерево.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.
Для каждого набора выведите максимальное значение корня после выполнения не более чем $$$k$$$ операций.
25 224 12 24 6 121 21 32 42 55 324 12 24 6 121 21 32 42 5
288 576
Оба примера имеют одно и то же дерево:
Для первого набора вы можете выполнить две операции следующим образом:
Для второго тестового примера можно выполнить три операции следующим образом:
Название |
---|