Problem2753--三值的排序 Sorting a Three-Valued Sequence [USACO 2.1]

2753: 三值的排序 Sorting a Three-Valued Sequence [USACO 2.1]

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 0  Solved: 0
[Status] [Submit] [Creator:]

Description

排序是一种很最长执行的计算任务之一。有一种特殊的排序,就是要排序的序列中至多只有三个不同的值,例如,我们对比赛获得者进行排序的时候,就是根据奖牌的价值进行排序,金牌第一,其次是银牌最后是铜牌
在这个任务中,给定的数字序列中,数字的值只有三种 :1、2 和 3,使用交换序列中数字位置的方式,把这个序列排成一个非递减的序列
写一个程序计算出,给定的一个 由1,2,3 组成的数字序列,排成非递减序列所需的最少交换次数.

Input

第一行:一个整数N (1 <= N <= 1000),表示序列中数字的个数
第 2行到第N+1行:每行一个数字,数字的取值是1或2或3,表示序列中的N个数字

Output

共一行,一个整数。表示排成非递减序列所需的最少交换次数。

Sample Input Copy

9
2
2
1
3
3
3
2
3
1  

Sample Output Copy

4

Source/Category