#ARC137B. 翻转后的 1 的个数

翻转后的 1 的个数

翻转后的 1 的个数

时间限制:2s
空间限制:1024MB

题目描述

给定一个仅由 0 和 1 组成、长度为 NN 的整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N)。

你必须恰好进行一次操作:选择 AA 的一个连续子序列,将其中每个 0 变成 1、每个 1 变成 0。允许选择空子序列,此时序列不发生变化。

操作后的得分为序列中 1 的个数。求所有可能得分中不同数值的数量。

输入格式

N
A_1 A_2 ... A_N

输出格式

输出一个整数,表示可能得分的种数。

样例输入 1

4
0 1 1 0

样例输出 1

4

样例输入 2

5
0 0 0 0 0

样例输出 2

6

样例输入 3

6
0 1 0 1 0 1

样例输出 3

3

数据范围

  • 1≤N≤3×1051\le N\le 3\times10^5;
  • Ai∈{0,1}A_i\in\{0,1\}。
子任务编号 分值 特殊限制
1 18 N≤80N\le80
2 24 N≤4000N\le4000
3 28 序列中极大的连续相等段不超过 2000 段
4 30 无特殊限制