eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Дерево

Дерево

Задано зважене дерево. Знайдіть найкоротшу відстань між заданими вершинами. \InputFile Перший рядок містить кількість вершин у дереві $n~(1 \le n \le 150000)$. Вершини пронумеровано цілими числами від $0$ до $n - 1$. У наступних $n - 1$ рядках міститься по три цілих числа $u, v, w$, які відповідають ребру вагою $w~(0 \le w \le 1000)$, що з'єднує вершини $u$ та $v$. У наступному рядку міститься ціле число $m~(1 \le m \le 75000)$ --- кількість запитів. У наступних $m$ рядках міститься по два числа --- номери вершин, відстань між якими необхідно обчислити. \OutputFile Для кожного запиту виведіть в окремому рядку одне число --- шукану відстань. \includegraphics{https://static.e-olymp.com/content/30/30e21658a34af2dea3188894b35a13d48aaf95c0.gif}
Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
3
1 0 1
2 0 1
3
0 1
0 2
1 2
Вихідні дані #1
1
1
2
Автор Дмитро Жуков
Джерело 2006 Petrozavodsk Summer Session, Ural SU and Orel STU Contest, August