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