Вероятно, кому-то это будет интересно...
Московская командная олимпиада школьников по программированию состоится 14 октября. Олимпиада является отбором на ВКОШП. Регистрация команд (и заочный отборочный этап) будут проходить до 8 октября.
Сайт олимпиады, где опубликована вся информация и открыта регистрация:
Как решается задача B (Лига А) быстрее, чем за N log N?
В задаче требовалось, фактически, посчитать чётность перестановки. Что такое чётность перестановки? Это чётность N - K, где N — количество элементов в ней, а K — количество циклов. А на циклы разбить перестановку можно за O(N).
Альтернативное решение: идём по перестановке и если видим элемент не на своём месте, то свапаем его с элементом, стоящим на его месте. Считаем количество сделанных свапов. Фактически это сортировка за O(N) обменов.