C. Диаметр взвешенного дерева
2000 мс · 256 МБ · всё или ничего
Найдите наибольшее взвешенное расстояние между двумя вершинами дерева.
Это та же склейка двух лучших спусков, что в классной задаче про путь наибольшего веса, но проще: веса на рёбрах неотрицательны, и обрезать нулём ничего не надо.
где первый и второй - два наибольших значения среди детей (или нули, если детей меньше двух).
Диаметр можно найти и двумя обходами в ширину - это короче. Но динамика обобщается: если завтра спросят «диаметр, не проходящий через данную вершину» или «диаметр каждого поддерева», два обхода не помогут, а динамика доработается.
Для дерева из одной вершины ответ ноль.
Формат ввода
В первой строке - число ().
В следующих строках - тройки , , ().
Формат вывода
Одно число - диаметр дерева.
Примеры
ввод
3 1 2 5 2 3 7
вывод
12
ввод
1
вывод
0
Войдите, чтобы отправлять решения.