B. 最少交换次数

内存限制:512 MiB 时间限制:500 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

给定 个整数 ,每个数字都是 中的一个,

请将其中的一部分数字两两交换,使得结果是升序的,请问最少需要几次交换?

注意本题时间限制仅 500 ms,尽量读入使用scanf或者快读,反正就是你读入快点

友情提示: 两两交换是任意两个位置交换,不限于相邻位置哦

输入格式

第一行一个个整数表示

第二行 个整数表示

输出格式

一个整数表示最少交换次数

样例

样例输入

5
2 0 1 2 0

样例输出

1

样例解释

将第一个2与最后一个0交换即可

数据范围与提示

  • 对于 的数据,

  • 对于的数据,

  • 对于 的数据,