2736: 祈福
题目描述
Jacky888作为一个Minecraft服务器中一个战队的队长,现在将要带领他的战队攻打另一个战队
他决定用抛硬币的方式来提振队员们的士气
当然,在Minecraft中不存在硬币,因为硬币是圆的,所以Jacky888在战队领地中建造了一排$n$个随机数发生器,每一个随机数发生器都可以使它的红石灯随机地点亮或熄灭
比如当$n=10$时,下面是这一排随机数发生器的红石灯的一种可能的状态
○ ○ ● ● ○ ● ○ ○ ○ ●
队员们认为,点亮的红石灯与熄灭的红石灯交替排列(下称交替列)是服主的祝福,所以最长的交替列的长度即为队员们的士气
但Jacky888发现这排随机数发生器的结果并不理想,因此,他要趁其他队员没有注意,改变一些红石灯的状态(使熄灭的红石灯变为点亮或使点亮的红石灯变为熄灭),来尽可能的提振士气
由于事态紧急,他只能使最多一个区间内的红石灯改变状态
现在Jacky888想知道,他最多能使士气变为多少
例如,若红石灯初始状态如下所示
○ ○ ● ● ○ ● ○ ○ ○ ●
则士气为$4$
若改变第$4$个到第$7$个红石灯,或改变第$8$个红石灯,则会变成如下两种状态
○ ○ ● ○ ● ○ ● ○ ○ ●
○ ○ ● ● ○ ● ○ ● ○ ●
士气都为$7$
可以发现,没有其他方法使士气更多,所以$7$即为答案
输入
输入文件第一行一个正整数$n$,表示随机数发生器的数量。
第二行包含$n$个数字,每个数字均为$0$或$1$,依次代表红石灯的初始状态。$1$代表点亮,$0$代表熄灭。
输出
输出一个整数,表示士气的最大值
样例输入 复制
10
1 1 0 0 1 0 1 1 1 0
样例输出 复制
7
提示
对于 $30\%$的数据,$1\le n\le 500$。
对于 $60\%$的数据,$1\le n\le 2000$。
对于 $100\%$的数据,$1\le n\le100000$。