Educational Codeforces Round 31 |
---|
Закончено |
Строительство метро в Бергороде подходит к концу! Президент Берляндии решил посетить этот город и взглянуть на новое метро своими глазами.
Метро состоит из n станций. Оно построено по всем правилам Бергородского Транспортного Закона:
Президент рассмотрит выгодность метро после посещения. Выгодность — это количество таких упорядоченных пар (x, y), что посетитель начнет на станции x, а после, воспользовавшись несколькими поездами (возможно нулевым количеством), прибудет на станцию y (1 ≤ x, y ≤ n).
Мэр Бергорода считает, что если выгодность метро недостаточно высока, то Президент может заменить мэра в городе (разумеется, текущий мэр не хочет, чтобы это произошло). Перед посещением Президентом города мэр успеет перестроить некоторые части метро, таким образом, изменяя значения pi для не более чем двух станций метро. Конечно, нарушать Бергородский Транспортный Закон недопустимо, поэтому метро должно подчиняться Закону и после изменений.
Мэр хочет перестроить такие части метро, чтобы выгодность метро стала максимальной возможной. Помогите ему посчитать, какую максимальную выгодность он может получить.
В первой строке записано одно целое число n (1 ≤ n ≤ 100000) — количество станций.
Во второй строке записаны n целых чисел p1, p2, ..., pn (1 ≤ pi ≤ n) — текущая структура метро. Все эти числа различны.
Выведите одно число — максимальное возможное значение выгодности.
3
2 1 3
9
5
1 5 4 3 2
17
В первом примере мэр может поменять p2 на 3 и p3 на 1, тогда будет 9 пар: (1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3).
Во втором примере можно поменять p2 на 4 и p3 на 5.
Название |
---|