#ZC2C. 数列排序

数列排序

题目描述

给定一个数列 aa,这个数列满足 aiaj(ij)a_i \neq a_j(i \neq j),现在要求你把这个数列从小到大排序,每次允许你交换其中任意一对数,请问最少需要几次交换?

输入格式

第一行是一个整数,代表数字个数 nn

第二行有 nn 个整数用空格分隔开,表示数列 aa

输出格式

只有一行,包含一个数,表示最少的交换次数。

8
8 23 4 16 77 -5 53 100
5

数据范围

1n105,231<ai<23111≤n≤10^5,−2^{31}<ai<2^{31}−1