links длины n: для i ≥ 1 пара links[i] = [p, w] означает, что родитель узла i — узел p, а ребро между ними весит w. У корня родителя нет, поэтому links[0] = [-1, -1].
Выберите несколько рёбер так, чтобы никакие два выбранных ребра не имели общего узла, а сумма их весов была как можно больше. Можно не выбрать ни одного ребра — тогда сумма равна 0.
Верните наибольшую возможную сумму.links=[[-1, -1], [0, 4], [1, 9], [1, 3], [0, 6]] → 15
Берём ветки 1–2 (вес 9) и 0–4 (вес 6): у них нет общих узлов, итого 15.
links=[[-1, -1], [0, -2], [1, -7]] → 0
Все веса отрицательные — выгоднее ничего не брать, ответ 0.
links=[[-1, -1], [0, 8], [0, 5], [0, 2]] → 8
Все три ветки сходятся в корне, поэтому можно взять только одну — самую тяжёлую, 8.
links[0] = [-1, -1]links задаёт корректное дерево с корнем 0links=[[-1, -1], [0, 4], [1, 9], [1, 3], [0, 6]]
15
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 84 теста на сервере, включая скрытые.