#327. 数列排序

数列排序

当前没有测试数据。

题目描述

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

输入格式

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

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

输出格式

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

样例 #1

样例输入 #1

8
8 23 4 16 77 -5 53 100

样例输出 #1

5

提示

数据规模与约定

对于 100%100\% 的数据,保证 1≤n≤1051\le n\le10^5,−231<ai<231−1-2^{31}\lt a_i\lt2^{31}-1。