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