AT_arc137_b [ARC137B] Count 1's
题目描述
给定一个由 $0$ 和 $1$ 组成、长度为 $N$ 的整数序列 $A=(A_1,A_2,\cdots,A_N)$。
你需要恰好进行 $1$ 次如下操作:
- 选择 $A$ 的一个**连续**子序列,并将其中的每个元素进行翻转。也就是说,如果是 $0$ 就变成 $1$,如果是 $1$ 就变成 $0$。这里允许选择的子序列为空,此时 $A$ 的元素不会发生任何变化。
你的得分为 $A$ 中 $1$ 的个数。请你求出所有可能的得分有多少种不同的取值。
输入格式
输入以如下格式从标准输入读入:
> $N\ A_1\ A_2\ \cdots\ A_N$
输出格式
请输出答案。
说明/提示
## 限制条件
- $1\leq N\leq 3\times 10^5$
- $0\leq A_i\leq 1$
- 输入的所有值均为整数
## 样例解释 1
可能的得分为 $0,1,2,3$,共 $4$ 种。例如,将 $A$ 的第 $2$ 个到第 $4$ 个元素翻转后,$A=(0,0,0,1)$,此时得分为 $1$。
由 ChatGPT 4.1 翻译