Codeforces Round 774 (Div. 2) |
---|
Закончено |
Вам дано дерево из $$$n$$$ вершин, пронумерованных от $$$1$$$ до $$$n$$$. Деревом называется связный неориентированный граф без циклов.
Для всех $$$i=1,2, \ldots, n$$$ обозначим за $$$w_i$$$ вес $$$i$$$-й вершины. Вершина называется хорошей, если ее вес равен сумме весов всех ее соседей.
Изначально веса в вершинах не определены. Выберете для каждой вершины положительный целочисленный вес так, чтобы количество хороших вершин в дереве было максимально возможным. Если есть несколько способов сделать это, вам нужно найти такой, который минимизирует сумму весов всех вершин в дереве.
Первая строка содержит одно целое число $$$n$$$ ($$$2\le n\le 2\cdot 10^5$$$) — количество вершин в дереве.
Далее следует $$$n−1$$$ строка. Каждая из этих строк содержит два целых числа $$$u$$$ и $$$v$$$ ($$$1\le u,v\le n$$$), обозначающие ребро между вершинами $$$u$$$ и $$$v$$$. Гарантируется, что ребра образуют дерево.
В первой строке выведите два целых числа: максимальное количество хороших вершин и минимально возможный суммарный вес вершин при этом.
Во второй строке выведите $$$n$$$ целых чисел $$$w_1, w_2, \ldots, w_n$$$ ($$$1\le w_i\le 10^9$$$) — веса вершин. Можно показать, что существует оптимальное решение, удовлетворяющее данным ограничениям.
Если существует несколько решений, выведите любое из них.
4 1 2 2 3 2 4
3 4 1 1 1 1
3 1 2 1 3
2 3 1 1 1
2 1 2
2 2 1 1
9 3 4 7 6 2 1 8 3 5 6 1 8 8 6 9 6
6 11 1 1 1 1 1 1 1 3 1
Ниже изображено дерево из первого примера:
Ниже изображено дерево из второго примера:
Название |
---|