1956:排队就餐_2

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:普通裁判 命题人:
提交:2 解决:2

题目描述

FJ 的奶牛们在吃晚饭时很傻。他们把自己组织成三组(方便编号为 $1, 2, 3$ ),坚持一起用餐。当他们在谷仓排队进入喂食区时,麻烦就开始了。
每头奶牛都随身带着一张小卡片,小卡片上刻的是 $D_i(1\le D_i\le 3)$ 表示她属于哪一组。所有的 $N(1\le N\le 30000)$ 头奶牛排队吃饭,但他们并不能按卡片上的分组站好。
FJ 的工作并不是那么难。他只是沿着牛的路线走下去,把旧的号码标出来,换上一个新的。通过这样做,他创造了一群奶牛,比如 $111222333$ 或 $333222111$,奶牛的就餐组按他们的晚餐卡片按升序或降序排列。
FJ 就像任何人一样懒惰。他很好奇:怎样他才能进行适当的分组,使得他只要修改最少次数的数字?由于奶牛们已经很长时间没有吃到饭了,所以“哞哞”的声音到处都是,FJ 只好更换卡号,而不能重新排列已经排好队的奶牛。

输入

共 $N + 1$ 行。
第 $1$ 行,包含 $1$ 个整数 $N$。
接下来的 $N$ 行,包含 $1$ 个整数表示当前奶牛的编号。

输出

一个整数,表示最少要修改几次。

样例输入-1 复制

5 
1
3
2
1
1

样例输出-1 复制

1