eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Сортувальник

Сортувальник

Корпорація планує розробку апарата-сортувальника, який впорядковує числа. Прилад влаштовано таким чином. У ньому є \textbf{N} елементів пам’яті, в кожному з яких зберігають число. Сортування здійснюють за допомогою операцій обміну вмістом між деякими парами елементів. Створити зв’язки між всіма парами елементів виявилося неможливим. Тому обміни зробили можливими лише між першим і будь-яким іншим елементом. Визначте, яку найменшу кількість операцій обміну між парами елементів потрібно зробити для даного початкового розташування, щоб відсортувати числа в елементах пам’яті за зростанням. \InputFile Перший рядок файлу містить натуральне число \textbf{N} (\textbf{1} ≤ \textbf{N} ≤ \textbf{30000}). Другий рядок файлу містить \textbf{N} попарно різних цілих чисел, які розташовано відповідно у першому, другому, …, \textbf{N}-му елементі пам’яті на початку сортування. Всі числа --- у межах від \textbf{0} до \textbf{30000} включно. \OutputFile Файл має містити одне число \textbf{M} --- найменшу можливу кількість операцій обміну між парами елементів пам’яті для досягнення впорядкування чисел.
Лимит времени 1 секунда
Лимит использования памяти 32 MiB
Входные данные #1
5
1 6 5 9 8
Выходные данные #1
6

Объяснение: Для поданого прикладу даних можна запропонувати такі обміни: 16598 → 61598 → 51698 → 15698 → 95618 → 85619 → 15689.

Автор Аександр Рыбак
Источник ІІІ (городской) этап Всеукраинской олимпиады школьников по информатике, 2007, г. Киев