问题 6100 --三色排序

6100: 三色排序

题目描述

给定 $n$ 个整数 $a_1,a_2,\dots, a_n$,每个数字都是 $0,1,2$ 中的一个,请将其中的一部分数字两两交换,使得结果是升序的,请问最少需要几次交换?

输入

第一行:单个整数表示 $n$ 第二行:$n$ 个整数表示 $a_1,a_2,\dots, a_n$

输出

单个整数:表示最少交换次数。

样例输入输出

输入#1 复制
5
2 0 1 2 0
输出#1 复制
1

提示

+ 对于 $30\%$ 的数据,$1\leq n\leq 5,000$; + 对于 $60\%$ 的数据,$1\leq n\leq 100,000$; + 对于 $100\%$ 的数据,$1\leq n\leq 1,000,000$; + $0\leq a_i\leq 2$;样例1说明:将第一个2与最后一个0交换即可
序号 标题 作者 发表时间 费用 订购数 操作