给定 n 个整数 a_1,a_2,...,a_n ,每个数字都是 0,1,2 中的一个。
可以不断交换这个序列中的任意两个数,从而让这个序列成为单调不递减。
请问最少需要几次交换?
第一行输入一个整数 n。
第二行输入 n 个整数,表示 a_1,a_2,...,a_n 。
输出一个整数,表示最少交换次数。
5 2 0 1 2 0
1
15 2 0 2 0 2 0 0 2 0 0 2 0 0 1 1
6
17 2 1 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0
6
将第一个 2 与最后一个 0 交换即可。
对于 30\% 的数据,1 ≤ n ≤ 5000。
对于 60\% 的数据,1 ≤ n ≤ 10^5。
对于 100\% 的数据,1 ≤ n ≤ 10^6, 0 ≤ A_i ≤ 2。