Олимпиадный тренинг

Задача . C. K целых чисел


Вам дана перестановка \(p_1, p_2, \ldots, p_n\).

За одно действие вы можете поменять местами два соседних элемента.

Вы хотите сделать как можно меньше действий, чтобы в конце в перестановке был подотрезок \(1,2,\ldots, k\), иначе говоря, в конце должен существовать индекс \(i\), \(1 \leq i \leq n-k+1\), что \(p_i = 1, p_{i+1} = 2, \ldots, p_{i+k-1}=k\).

Обозначим за \(f(k)\) минимальное число действий, которое нужно сделать, чтобы подотрезок \(1,2,\ldots,k\) появился в перестановке.

Вам нужно найти \(f(1), f(2), \ldots, f(n)\).

Входные данные

В первой строке записано одно целое число \(n\) (\(1 \leq n \leq 200\,000\)): количество элементов в перестановке.

Во второй строке записаны \(n\) целых чисел \(p_1, p_2, \ldots, p_n\): данная перестановка (\(1 \leq p_i \leq n\)).

Выходные данные

Выведите \(n\) целых чисел, минимальное число действий, которое нужно сделать, чтобы подотрезок \(1,2,\ldots,k\) появился в перестановке, для \(k=1, 2, \ldots, n\).


Примеры
Входные данныеВыходные данные
1 5
5 4 3 2 1
0 1 3 6 10
2 3
1 2 3
0 0 0

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя