AT_ndpc2026_k 加算と減算
题目描述
给定一个长度为 $N$ 的整数序列 $A = (A_1, A_2, \dots, A_N)$。
你还有一个整数 $x$,初始值为 $0$。
你将进行以下 $N$ 次操作:
- 对于 $i = 1, 2, \dots, N$,每次恰好从以下三种操作中选择一种:
- 用 $x + A_i$ 替换 $x$。
- 用 $|x - A_i|$ 替换 $x$。
- 什么都不做。
请你输出在完成全部 $N$ 次操作后,$x$ 可能的取值个数。
输入格式
输入从标准输入给出,格式如下:
>$N$ $A_1$ $A_2$ $\dots$ $A_N$
输出格式
输出一个整数,表示 $x$ 在所有操作完成后可能的取值个数。
说明/提示
## 部分分
本题存在部分分。
- 如果你能够解决满足 $1 \leq \sum_{i=1}^N A_i \leq 5 \times 10^5$ 的数据,你可以获得 $4$ 分。
## 样例解释 1
例如,你可以通过如下操作得到 $x = 9$:
- 初始时,$x = 0$。
- 第 $i=1$ 次,用 $|x - A_i| = |0 - 2| = 2$ 替换 $x$。
- 第 $i=2$ 次,用 $x + A_i = 2 + 7 = 9$ 替换 $x$。
- 第 $i=3$ 次,什么都不做。
# 约束条件
- $1 \leq N \leq 5 \times 10^5$
- $1 \leq A_i \leq 2 \times 10^6$
- $1 \leq \sum_{i=1}^N A_i \leq 2 \times 10^6$
- 所有输入均为整数。
由 ChatGPT 5 翻译