n узлов с номерами от 0 до n - 1. У узла i есть вес weights[i], а links[j] = [a, b] — связь между узлами a и b.
Некоторые связи можно разрезать — дерево распадётся на части. Вес части — сумма весов её узлов.
Верните наибольшее число связей, которые можно разрезать так, чтобы все получившиеся части имели одинаковый вес. Если делить нельзя, ответ 0.weights=[3, 1, 2, 3, 3], links=[[0, 1], [1, 2], [1, 3], [3, 4]] → 3
Общий вес 12. Разрезаем связи [0, 1], [1, 3] и [3, 4]: получаются части {0}, {1, 2}, {3}, {4} по 3 каждая. Это 3 разреза, больше не выйдет.
weights=[4, 2, 5], links=[[0, 1], [1, 2]] → 0
Общий вес 11 — простое число, поэтому поделить дерево на несколько равных частей нельзя.
weights=[7], links=[] → 0
weights=[3, 1, 2, 3, 3], links=[[0, 1], [1, 2], [1, 3], [3, 4]]
3
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 47 тестов на сервере, включая скрытые.