CF978E Bus Video System

题目描述

Berland 的公交车配备了视频监控系统。该系统会记录每次公交车停靠后车内乘客人数的变化情况。 如果 $x$ 表示当前公交车站停靠前车内的乘客数,$y$ 表示停靠后车内的乘客数,则系统记录的数值为 $y-x$。因此,系统记录显示的是乘客人数的变化量。 对一辆公交车进行了测试,共有 $n$ 个公交车站。因此,系统记录下了一个长度为 $n$ 的整数序列 $a_1, a_2, \dots, a_n$(每个车站恰好记录一个数),其中 $a_i$ 表示第 $i$ 个公交车站的记录。公交车站按时间顺序编号为 $1$ 到 $n$。 请你计算,在公交车容量为 $w$(即任意时刻车内乘客数应在 $0$ 到 $w$ 之间,包括 $0$ 和 $w$)的情况下,公交车在第一个车站停靠前可能有多少种不同的乘客人数。如果无论初始乘客数是多少都会出现矛盾,请输出 $0$。

输入格式

第一行包含两个整数 $n$ 和 $w$,$1 \le n \le 1\,000, 1 \le w \le 10^{9}$,分别表示公交车站的数量和公交车的容量。 第二行包含一个长度为 $n$ 的整数序列 $a_1, a_2, \dots, a_n$,$-10^{6} \le a_i \le 10^{6}$,其中 $a_i$ 表示第 $i$ 个公交车站后乘客人数的变化量。

输出格式

输出公交车在第一个车站停靠前可能的乘客人数的方案数。如果无解,输出 $0$。

说明/提示

在第一个样例中,公交车初始时可能有 $0$、$1$ 或 $2$ 名乘客。 在第二个样例中,公交车初始时可能有 $1$、$2$、$3$ 或 $4$ 名乘客。 在第三个样例中,公交车初始时可能有 $0$ 或 $1$ 名乘客。 由 ChatGPT 4.1 翻译