Вам задано взвешенное дерево (неориентированный связный граф без циклов, петель и кратных ребер) из $$$n$$$ вершин. Ребро $$$\{u_j, v_j\}$$$ имеет вес $$$w_j$$$. Также, каждой вершине $$$i$$$ присвоено значение $$$a_i$$$.
Назовем путь, начинающийся в вершине $$$u$$$ и заканчивающийся в $$$v$$$, в котором по каждому ребру можно пройти не более двух раз (независимо от направления), 2-путем. Вершины в 2-пути могут встречаться любое количество раз (в том числе начальная и конечная).
Для каждого 2-пути $$$p$$$ можно найти его профит $$$\text{Pr}(p) = \sum\limits_{v \in \text{различные вершины в } p}{a_v} - \sum\limits_{e \in \text{различные ребра в } p}{k_e \cdot w_e}$$$, где $$$k_e$$$ равно количеству вхождений $$$e$$$ в $$$p$$$. То есть, вершины учитываются ровно один раз, а ребра — столько, сколько раз каждое встречается в $$$p$$$.
Вам необходимо ответить на $$$m$$$ запросов. Каждый запрос является парой вершин $$$(qu, qv)$$$. Для каждого запроса найдите 2-путь $$$p$$$ из $$$qu$$$ в $$$qv$$$ с максимальным профитом $$$\text{Pr}(p)$$$.
Первая строка содержит два целых числа $$$n$$$ и $$$q$$$ ($$$2 \le n \le 3 \cdot 10^5$$$, $$$1 \le q \le 4 \cdot 10^5$$$) — количество вершин в дереве и количество запросов.
Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \dots, a_n$$$ $$$(1 \le a_i \le 10^9)$$$ — значения, присвоенные вершинам.
Следующие $$$n - 1$$$ строк содержат описания ребер: каждая строка содержит три целых числа $$$u_i$$$, $$$v_i$$$ и $$$w_i$$$ ($$$1 \le u_i, v_i \le n$$$, $$$u_i \neq v_i$$$, $$$1 \le w_i \le 10^9$$$) — есть ребро $$$\{u_i, v_i\}$$$ с весом $$$w_i$$$ в заданном дереве.
Следующие $$$q$$$ строк содержат запросы (по одному в строке). Каждый запрос содержит два целых числа $$$qu_i$$$ и $$$qv_i$$$ $$$(1 \le qu_i, qv_i \le n)$$$ — концы 2-пути, который Вам надо найти.
Для каждого запроса выведите по одному числу в строке — максимальный профит $$$\text{Pr}(p)$$$ некоторого 2-пути $$$p$$$ с соответствующими концами.
7 6
6 5 5 3 2 1 2
1 2 2
2 3 2
2 4 1
4 5 1
6 4 2
7 3 25
1 1
4 4
5 6
6 4
3 4
3 7
9
9
9
8
12
-14
Разъяснение запросов:
Название |
---|