#joi2009yoc. [joi2009yo_c]連鎖
[joi2009yo_c]連鎖
问题
有一个游戏如下所示。
一些角色排列在一列中,共有 个角色。这些角色的颜色可以是红色、蓝色或黄色,并且在初始状态下,相同颜色的角色不会连续出现 个或更多次。玩家可以选择一个位置上的角色,并将其更改为其他颜色。如果同一颜色的角色连续出现 个或更多次,则这些角色将消失。当消失的角色导致新的相同颜色的角色出现 个或更多次时,这些角色也会消失,直到没有连续出现 个或更多次的相同颜色的角色为止。游戏的目标是尽量减少剩余未消失的角色数量。
例如,在下图的初始状态下,如果将从上方数第 个角色的颜色从黄色更改为蓝色,则蓝色的角色会连续出现 次并消失,最终剩下 个角色未消失。
给定初始状态下 个角色的颜色排列,请编写程序计算当仅更改一个位置上的角色颜色时,剩余未消失的角色数量的最小值 。
输入
第 行包含一个整数 (),表示角色的数量。接下来的 行中,每行包含一个整数 ,表示初始状态下从上方数第 个角色的颜色( 表示红色, 表示蓝色, 表示黄色)。
输出
输出剩余未消失的角色数量的最小值 。
输入例子 1
12
3
2
1
1
2
3
2
2
2
1
1
3
输出例子 1
3
输入例子 2
12
3
2
1
1
2
3
2
1
3
2
1
3
输出例子 2
12