n вершин с номерами от 0 до n − 1, корень — вершина 0. Рёбра заданы списком edges: [u, v, w] — ребро длины w между u и v. На вершине i записано число values[i].
Рассмотрим пути, идущие только вниз: от какой-то вершины к одному из её потомков (путь может состоять и из одной вершины). Путь подходит, если числа на его вершинах различны, за одним допустимым исключением: какое-то одно число может встретиться ровно дважды. Длина пути — сумма длин его рёбер.
Верните массив из двух чисел: наибольшую длину подходящего пути и наименьшее число вершин среди подходящих путей этой наибольшей длины.edges=[[0, 1, 4], [1, 2, 3], [2, 3, 5]], values=[5, 6, 5, 6] → [8, 3]
Весь путь 0 → 1 → 2 → 3 не годится: повторяются и 5, и 6. Путь 0 → 1 → 2 (повторяется только 5) имеет длину 7, а 1 → 2 → 3 (повторяется только 6) — длину 8. Ответ: длина 8, вершин 3.
edges=[[0, 1, 2], [0, 2, 6]], values=[7, 7, 7] → [6, 2]
Число 7 может встретиться дважды, так что 0 → 2 подходит: длина 6, вершин 2.
[u, v, w]edges=[[0, 1, 4], [1, 2, 3], [2, 3, 5]], values=[5, 6, 5, 6]
[8, 3]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 33 теста на сервере, включая скрытые.