2736: 祈福

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:25 解决:0

题目描述

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$。