#LQK12BC03. 排序

排序

题目描述

NN 个瓶子,编号为从 11NN,这 NN 个瓶子乱序排成一排。现在想对瓶子进行从小到大排列,要求每次拿出 22 个瓶子进行互换,经过若干次互换后,使得瓶子按编号从小到大排序,但这样的互换方式有多种,每种互换方式的互换次数也不相同。

请你通过编程计算出最少经过几次互换可以使瓶子按编号从小到大排序。

输入格式

第一行输入一个正整数 NN 表示瓶子的个数

第二行输入 NN 个正整数,之间用一个空格分开,表示瓶子编号目前的排序情况

输出格式

输出最少经过几次互换可以使瓶子按编号从小到大排序

样例数据

5
2 1 3 5 4
2

样例解释

样例一:第一次拿出 2211 进行互换,第二次拿出 5544 进行互换,最少需要两次互换

数据范围

对于 100%100\% 的数据,2N1002 \le N \le 100