#2650. 计算机编程初赛----yz202104
计算机编程初赛----yz202104
Background
2021年10月17日,鄞州区第十届青少年科技节活动之C++计算机编程初赛,在鄞州区实验小学南校区举行。总共近300名学生参加比赛,受到场地规模限制,需要把参赛学生分为2个考场,每个同学手上都有一个编号卡片,有的同学拿1号卡,有的同学拿2号卡。
初赛快要开始了,N名同学都排成了一条很整齐的队伍等待入场,监考老师发现,同学们手上的编号卡片上的号码是乱的(比如2111221)。但是监考老师希望,同一个编号的学生们能够排在一起,如手拿1号卡片的同学排在前面,手拿2号卡片的同学排在后面(比如1111222)。
最后,监考老师找到了一种简单的方法,来解决刚刚遇到的问题:同学们不动,监考老师沿着队伍从头到尾走一遍,把那些他认为排错的同学卡片上的编号改掉,最终得到一个监考老师他想要结果,例如112222或111122。有的时候,监考老师会把整个队列弄得只有1种编号(比方说,1111或222),也是可能的。
如果监考老师想把所有同学有规律的排列好,那么他最少需要改多少个同学卡片上的编号。假设,所有同学在监考老师改卡片编号的时候,都不会改变位置。
Input
第1行: 1个整数:N (1 <= N <= 30000) 第2到N+1行: 第i+1行是1个整数,为第i个同学的编号Di (数字1或2)
Output
一行: 输出1个整数,为监考老师最少要改几个同学卡片上的编号,才能让编号变成他所希望的样子。
Samples
7
2
1
1
1
2
2
1
2
5
2
2
1
2
2
1
Limitation
样例解释:
样例1,只要把第1个2改成1 ,把第7个1改成2,就可以把队列变成1111222,符合题目要求。或者把第5个和第6个2,改成1,就可以把队列变成2111111,也符号题目要求。
样例2,只要把第3个1改成2 ,就可以把队列变成22222,符合题目要求。