10256: Відстань в дереві - 2
Відправити розв'язок
Бали:
100 (partial)
Time limit:
1.0s
Memory limit:
128M
Author:
Problem type
Allowed languages
Brain****, C, C++, Java, Pascal, Python, v8js
В зваженому дереві, відповідати на запити знаходження відстані між двома вершинами
Формат вхідних даних
В першому рядку число \(N\) - кліькість вершин дерева (\(1 \le N \le 2*10^5\))
В кожному з наступних \(N\) рядків по три два числа \(v1,v2,dist\) які описують ребро дерева \((v1,v2)\) довжиною \(dist\) (\(1 \le v1,v2 \le N\)), (\(1 \le dist \le 10^9\)),
В третьому рядку число \(M\) - кількість запитів (\(1 \le M \le 2*10^5\))
В кожному з наступних \(M\) рядків по два числа \(q1,q2\) - номера вершин для яких необхідно обчислити відстань (\(1 \le q1,q2 \le N\))
Формат вихідних даних
Для кожного запиту виведіть в окремому рядку відповідь - відстань між вершинами
Приклад вхідних даних
5
1 2 3
1 3 3
2 4 1
2 5 4
4
3 4
5 4
5 1
2 2
Приклад вихідних даних
7
5
7
0
Коментарі