CF327A.Flipping Game

普及-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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.

伊阿胡布感到无聊,于是发明了一个可以在纸上玩的游戏。

他写下 nn 个整数 a1, a2, …, ana_1,\,a_2,\,\dots,\,a_n。其中每个整数只能是 00 或 11。他恰好可以执行一次操作:选择两个下标 ii 和 jj(满足 1 ≤ i ≤ j ≤ n1\,\le\,i\,\le\,j\,\le\,n),并将所有位置在区间 [i, j][i,\,j] 内的值 aka_k(即满足 i ≤ k ≤ ji\,\le\,k\,\le\,j 的所有 aka_k)进行翻转。对值 xx 进行翻转是指执行操作 x = 1 − xx\,=\,1\,-\,x。

游戏的目标是:在恰好执行一次操作后,使得序列中 11 的个数达到最大。请编写一个程序来解决伊阿胡布的这个小游戏。

输入格式

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.

输入的第一行包含一个整数 nn(1≤n≤1001 \leq n \leq 100)。输入的第二行包含 nn 个整数:a1, a2, …, ana_1,\,a_2,\,\ldots,\,a_n。保证这 nn 个值中的每一个均为 00 或 11。

输出格式

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

输出一个整数——恰好进行一次操作后所能得到的最多 1 的个数。

输入输出样例

  • 输入#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.

在第一种情况下,翻转从第 2 位到第 5 位的区间(即 i=2, j=5i = 2,\, j = 5)。该翻转操作改变序列,使其变为:

1 1 1 0 11\ 1\ 1\ 0\ 1

因此,序列中包含四个 1。无法通过任何操作使整个序列为 $$1\ 1\ 1\ 1\ 1$$。

在第二种情况下,仅翻转第二位和第三位元素(即 i=2, j=3i = 2,\, j = 3)即可将所有数字变为 1。

输入解题思路,AI测评打分。不知道怎么写?

首页