测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A9149. Flipping Game

编程题 普及/提高-

题目描述

Iahub got bored, so he invented a game to be played on paper.

He writes $n$ integers $a_{1},a_{2},...,a_{n}$ . Each of those integers can be either 0 or 1. He's allowed to do exactly one move: he chooses two indices $i$ and $j$ ( $1<=i<=j<=n$ ) and flips all values $a_{k}$ for which their positions are in range $[i,j]$ (that is $i<=k<=j$ ). Flip the value of $x$ means to apply operation $x=1$ - $x$ .

The goal of the game is that after exactly one move to obtain the maximum number of ones. Write a program to solve the little game of Iahub.

输入格式

The first line of the input contains an integer $n$ ( $1<=n<=100$ ). In the second line of the input there are $n$ integers: $a_{1},a_{2},...,a_{n}$ . It is guaranteed that each of those $n$ values is either 0 or 1.

输出格式

Print an integer — the maximal number of 1s that can be obtained after exactly one move.

输入输出样例

输入 #1
5
1 0 0 1 0
输出 #1
4
输入 #2
4
1 0 0 1
输出 #2
4

说明/提示

In the first case, flip the segment from 2 to 5 $(i=2,j=5)$ . That flip changes the sequence, it becomes: \[1 1 1 0 1\]. So, it contains four ones. There is no way to make the whole sequence equal to \[1 1 1 1 1\].

In the second case, flipping only the second and the third element $(i=2,j=3)$ will turn all numbers into 1.
上一题 去做题 下一题