队列修改
测试数据来自 system/1751
时间限制:1秒 内存限制:256M
【题目描述】
小H要求精灵们分两组就餐。每天晚饭前,按小H的设想,第一组的精灵排在队伍前面,第二组就餐的精灵排在队尾。由于精灵们不理解小H的安排,晚饭前的排队成了一个大麻烦。
第 \(i\) 个精灵有一张标明她用餐批次 \(D_i\) 的卡片。虽然所有 \(N\) 个精灵排成了很整齐的队伍,但谁都看得出来,卡片上的号码是完全杂乱无章的。
在若干次混乱的重新排队后,小H 找到了一种简单些的方法:精灵们不动,他沿着队伍从个到尾走一遍,把那些他认为排错队的精灵卡片上的编号改掉,最终得到一个他想要的每个组中的精灵都站在一起的队列,例如112222或111122。有的时候,小H会把整个队列弄得只有1组精灵(比方说,1111或222)。
你也晓得,小H是个很懒的人。他想知道,如果他想达到目的,那么他最少得改多少个精灵卡片上的编号。所有精灵在小H改卡片编号的时候,都不会挪位置。
【输入格式】
第 1 行有一个整数 \(N\);
第 2 到第 \(N+1\) 行: 第 \(i+1\) 行是一个整数,为第 \(i\) 个精灵的用餐批次 \(D_i\)。
【输出格式】
输出 1 个整数,为小H 最少要改几个精灵卡片上的编号,才能让编号变成他设想中的样子。
【输入输出样例】
Input
7
2
1
1
1
2
2
1
Output
2
【输入输出样例说明】
小H选择改第 1 个和最后 1 个精灵卡片上的编号。
【数据限制】
对于 \(100\%\) 的数据,\(1<N<30000\),\(1 ≤ D_i ≤ 2\)。
【来源】
Mr.he