Задача №114672. Новые кампусы!
Недавно вы стали ректором одного из университетов и решили открыть в нем новую программу! На ней вы будете учить студентов спортивному программированию. Поэтому у них будут два типа занятий: спорт (чтобы развить силу рук) и программирование. Основным достоинством этой программы будет обучение в двух кампусах одновременно — по четным дням студенты будут ездить в первый кампус, а по нечетным — во второй.
Оба кампуса вашего университета устроены очень необычно: в каждом из них есть по \(n\) аудиторий, пронумерованных от \(1\) до \(n\), и по \(n - 1\) переходу между ними, при этом из любой аудитории можно добраться в любую другую по переходам.
Однако вы обнаружили, что студентам сложно ориентироваться сразу в двух кампусах, и решили упростить им жизнь. Вы решили выбрать два номера аудиторий \(u\) и \(v\) (\(u \neq v\)): в аудитории с номером \(u\) студенты будут заниматься спортом, а в аудитории с номером \(v\) — программированием. Обратите внимание, что \(u\) и \(v\) выбираются одинаковыми для обоих кампусов.
Так как вы хотите, чтобы студенты тратили меньше времени на перемещение между аудиториями, вам нужно минимизировать суммарное расстояние, которое потребуется преодолеть студентам между выбранными аудиториями в каждом из кампусов. Более формально, вам нужно найти такие номера \(u, v\), что \(d_1(u, v) + d_2(u, v)\) минимально, где \(d_1(u, v)\) — это расстояние между аудиториями \(u\) и \(v\) в первом кампусе, а \(d_2(u, v)\) — во втором. Расстоянием между аудиториями называется минимальное число переходов, через которые нужно пройти, чтобы добраться из одной аудитории в другую.
В обоих кампусах есть вход, и он ведет в аудиторию \(1\). Для всех остальных аудиторий разработан план эвакуации. В первом кампусе для \(i\)-й аудитории \(p_i\) равно номеру следующей аудитории на пути из \(i\)-й аудитории в первую. Во втором кампусе для \(i\)-й аудитории \(q_i\) равно номеру следующей аудитории на пути из \(i\)-й аудитории в первую.
В первой строке входных данных содержится одно целое число \(n\) (\(2 \leq n \leq 10^6\)) — количество аудиторий.
В следующей строке находятся \(n - 1\) целых чисел \(p_2\), \(p_3\), \(p_4\), ..., \(p_n\) (\(1 \le p_i \le n\)), где \(p_i\) — это следующая (кроме \(i\)) аудитория на пути от \(i\)-й до первой в первом кампусе.
В следующей строке находятся \(n - 1\) целых чисел \(q_2\), \(q_3\), \(q_4\), ..., \(q_n\) (\(1 \le q_i \le n\)), где \(q_i\) — это следующая (кроме \(i\)) аудитория на пути от \(i\)-й до первой во втором кампусе.
В первой строке выведите минимальную величину \(d_1(u, v) + d_2(u, v)\).
Во второй строке выведите любую пару вершин \(u, v\), таких что \(d_1(u, v) + d_2(u, v)\) минимально.
В первом примере в первом кампусе есть переходы между аудиториями 3 и 2, 1 и 3, 2 и 4, 3 и 5. Во втором кампусе есть переходы между аудиториями 5 и 2, 4 и 3, 1 и 4, 3 и 5.
Тесты к этой задаче состоят из 12 групп. Баллы за каждую группу ставятся только при прохождении всех тестов группы и всех тестов некоторых из предыдущих групп. Обратите внимание, прохождение тестов из условия не требуется для некоторых групп. Offline-проверка означает, что результаты тестирования вашего решения на данной группе станут доступны только после окончания соревнования.
Доп. ограничения | ||||
Группа | Баллы | \(n\) | Необх. группы | Комментарий |
0 | 0 | – | – | Тесты из условия. |
1 | 12 | \(n \le 500\) | 0 | |
2 | 11 | \(n \le 5000\) | 0, 1 | |
3 | 8 | \(n \le 50\,000\) | 0, 1, 2 | |
4 | 11 | \(n \le 100\,000\) | – | В первом кампусе существует аудитория, соединенная прямыми переходами со всеми остальными аудиториями |
5 | 12 | \(n \le 100\,000\) | – | В обоих кампусах для каждой аудитории существует не более двух переходов в соседние аудитории |
6 | 10 | \(n \le 100\,000\) | 5 | В первом кампусе для каждой аудитории существует не более двух переходов в соседние аудитории |
7 | 9 | \(n \le 100\,000\) | 0 – 6 | |
8 | 10 | \(n \le 200\,000\) | 0 – 7 | |
9 | 11 | \(n \le 300\,000\) | 0 – 8 | Offline-проверка. |
10 | 3 | \(n \le 500\,000\) | 0 – 9 | Offline-проверка. |
11 | 2 | \(n \le 750\,000\) | 0 – 10 | Offline-проверка. |
12 | 1 | – | 0 – 11 | Offline-проверка. |
5 3 1 2 3 5 4 1 3
2 5 3
5 5 1 2 3 4 4 1 4
2 2 4
7 1 2 2 7 1 3 5 5 5 1 5 2
3 2 1
9 5 2 1 4 9 8 3 7 1 4 7 9 8 2 5 3
4 2 1