eolymp
bolt
Try our new interface for solving problems
Məsələlər

LCA Problem Revisited

LCA Problem Revisited

Задано подвешенное дерево, содержащее \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{100000}) вершин, пронумерованных от \textbf{0} до \textbf{n-1}. Требуется ответить на \textbf{m} (\textbf{1} ≤ \textbf{m} ≤ \textbf{10000000}) запросов о наименьшем общем предке для пары вершин. Запросы генерируются следующим образом. Заданы числа \textbf{a_1}, \textbf{a_2} и числа \textbf{x}, \textbf{y} и \textbf{z}. Числа \textbf{a_3}, ..., \textbf{a_2m} генерируются следующим образом: \textbf{ai = (x·a_\{i-2\}+y·a_\{i-1\}+z) mod n}. Первый запрос имеет вид < \textbf{a_1}, \textbf{a_2} >. Если ответ на \textbf{i-1}-й запрос равен \textbf{v}, то \textbf{i}-й запрос имеет вид < \textbf{(a_\{2i-1\} + v) mod n}, \textbf{a_2i} >. \InputFile Первая строка содержит два числа: \textbf{n} и \textbf{m}. Корень дерева имеет номер \textbf{0}. Вторая строка содержит \textbf{n-1} целых чисел, \textbf{i}-е из этих чисел равно номеру родителя вершины \textbf{i}. Третья строка содержит два целых числа в диапазоне от \textbf{0} до \textbf{n-1}: \textbf{a_1} и \textbf{a_2}. Четвертая строка содержит три целых числа: \textbf{x}, \textbf{y} и \textbf{z}, эти числа неотрицательны и не превосходят \textbf{10^9}. \OutputFile Выведите сумму номеров вершин - ответов на все запросы.
Zaman məhdudiyyəti 2 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
3 2
0 1
2 1
1 1 0
Çıxış verilənləri #1
2