Вам дано взвешенное неориентированное дерево с \(n\) вершинами, а также список из \(q\) обновлений. Каждое обновление меняет вес одного ребра. Ваша задача — вычислить диаметр дерева после каждого обновления.
(Расстоянием между двумя вершинами называется сумма весов ребер на единственном простом пути между этими двумя вершинами. Диаметр дерева — наибольшее из этих расстояний.)
Выходные данные
Выведите \(q\) строк. Для всех возможных \(i\) строка \(i\) должна содержать диаметр дерева после \(i\)-го обновления.
Система оценки
Подзадача 1 (11 баллов): \(n,q \leq 100\) и \(w \leq 10,000\)
Подзадача 2 (13 баллов): \(n,q \leq 5,000\) и \(w \leq 10,000\)
Подзадача 3 (7 баллов): \(w \leq 10,000\), и все ребра дерева имеют вид \(\{1, i\}\) (То есть граф имеет вид «звезды» с центром в вершине 1.)
Подзадача 4 (18 баллов): \(w \leq 10,000\), и все ребра дерева имеют вид \(\{i, 2i\}\) и \(\{i, 2i+1\}\) (То есть если мы подвесим дерево за вершину 1, то оно будет иметь вид сбалансированного бинарного дерева.)
Подзадача 5 (24 балла): гарантируется, что после каждого обновления по крайней мере один из наидлиннейших простых путей проходит через вершину \(1\)
Подзадача 6 (27 баллов): нет дополнительных ограничений
Примечание
Первый пример показан на рисунке ниже. Рисунок слева показывает изначальное дерево. Каждый следующий рисунок показывает ситуацию после очередного обновления. Вес обновленного ребра показан зеленым, а диаметр — красным.

Первое обновление меняет вес \(3\)-го ребра, т.е. \(\{2, 4\}\), на \(1030\). Наибольшее расстояние между какой-либо парой вершин равно \(2030\) — расстояние между \(3\) и \(4\).
Так как ответ равен \(2030\), то для второго обновления \(\)d'_2 = (1 + 2030) \bmod 3 = 0\(\) \(\)e'_2 = (1020 + 2030) \bmod 2000 = 1050\(\) Поэтому вес ребра \(\{1, 2\}\) меняется на \(1050\). Теперь наибольшее расстояние между вершинами \(\{1, 4\}\), оно равно \(2080\).
Для третьего обновления имеем \(\)d'_3 = (1 + 2080) \bmod 3 = 2\(\) \(\)e'_3 = (890 + 2080) \bmod 2000 = 970\(\) Теперь, так как вес ребра \(\{2, 4\}\) уменьшается до \(970\), наиболее удаленная пара вершин, внезапно, \(\{1, 3\}\), а расстояние — \(2050\).
Примеры
| № | Входные данные | Выходные данные |
|
1
|
4 3 2000 1 2 100 2 3 1000 2 4 1000 2 1030 1 1020 1 890
|
2030
2080
2050
|
|
2
|
10 10 10000 1 9 1241 5 6 1630 10 5 1630 2 6 853 10 1 511 5 3 760 8 3 1076 4 10 1483 7 10 40 8 2051 5 6294 5 4168 7 1861 0 5244 6 5156 3 3001 8 5267 5 3102 8 3623
|
6164
7812
8385
6737
6738
7205
6641
7062
6581
5155
|