Canada Cup 2016 |
---|
Закончено |
Алиса и Боб известны своей любовью к передаче сообщений друг другу. В этот раз у них есть корневое дерево, где Боб находится в корне, а во всех остальных вершинах находится по одной копии Алисы. Корневая вершина имеет номер 0, а остальные пронумерованы от 1 до n.
В некоторые моменты времени некоторая из копий Алисы отправляет Бобу сообщение и хочет получить на него ответ. Назовём такую копию инициатором. Процесс отправки сообщения проходит следующим образом:
Если какая-то из копий Алисы получает несколько сообщений из вершин-потомков одновременно, и в этот момент данная копия не занята ожиданием ответа, то она обрабатывает сообщение, посланное инициатором с минимальным номером, а все остальные отклоняет. Если какая-либо из копий Алисы получает одновременно сообщение от потомка и ответ, которого она ожидает, то считается, что она успевает сначала обработать ответ, а затем в ту же секунду обработать пришедшие сообщения как обычно.
Вам даны моменты времени, в которые копии Алисы становятся инициаторами и отправляют сообщения Бобу. Для каждого сообщения найдите момент времени, когда инициатор получит ответ (от Боба или от какой-то из копий Алисы).
Можете считать, что если какая-то из Алис хочет отправить сообщение (то есть стать инициатором) в момент ожидания ответа, она сама немедленно отклоняет это сообщение и получает ответ сама от себя за нулевое время.
В первой строке входных данных записаны два целых числа n и m (1 ≤ n, m ≤ 200 000) — количество вершин с копиями Алисы и количество сообщений, которые будут отправлены.
Во второй строке содержится n целых чисел p1, p2, ..., pn (0 ≤ pi < i), i-е из этих чисел означает номер предка вершины с номером i.
Следующие m строк описывают сообщения. В i-й из них записаны два целых числа xi и ti (1 ≤ xi ≤ n, 1 ≤ ti ≤ 109) — номер вершины, в которой расположена копия Алисы, являющаяся инициатором, и момент времени, когда она это делает (в секундах). Сообщения даются в порядке возрастания времени создания, то есть ti + 1 ≥ ti для 1 ≤ i < m. Гарантируется, что все пары (xi, ti) различны.
Выведите m целых чисел, i-е из которых должно быть равно моменту времени, в который инициатор i-го сообщения получит ответ.
6 3
0 1 2 3 2 5
4 6
6 9
5 11
14 13 11
3 2
0 1 1
2 1
3 1
5 3
8 3
0 1 1 2 3 3 4 5
6 1
8 2
4 5
7 6 11
В первом примере первое сообщение инициируется в момент времени 6, достигает Боба в момент времени 10, а инициатор получает ответ в момент времени 14. Второе сообщение достигает вершины 2 в момент времени 11. В это время копия Алисы во второй вершине все еще ждет ответа на первое сообщение, поэтому отклоняет второе. Ответ достигает инициатора в момент времени 13. Третье сообщение вообще никому не отправляется, т. к. в момент времени 11 Алиса в вершине 5 ждет ответа на второе сообщение.
Во втором примере первое сообщение достигает Боба, а второе отклоняется Алисой в вершине 1, т. к. приоритет имеет сообщение, отправленное инициатором с меньшим номером.
В третьем примере первое и третье сообщение достигнут Боба, а второе будет отклонено Алисой в вершине 3.
Название |
---|