给定一个数列 {a_n},这个数列满足 a_i \neq a_j (i \neq j),现在要求你把这个数列从小到大排序,每次允许你交换其中任意一对数,请问最少需要几次交换?
第一行,正整数 n。 接下来,一共 n 个数,用空格分隔开,表示数列 {a_n}。
只有一行,包含一个数,表示最少的交换次数。
8 8 23 4 16 77 -5 53 100
5
对于100%的数据,有 n \leq 10^5, -2^{31} \leq a_i \leq 2^{31}。