AT_dp_m Candies
题目描述
有 $N$ 个孩子。孩子们被编号为 $1, 2, \ldots, N$。
他们要一起分配 $K$ 颗糖果。此时,对于每个 $i$($1 \leq i \leq N$),第 $i$ 个孩子能分到的糖果数必须在 $0$ 到 $a_i$ 之间(包含 $0$ 和 $a_i$)。此外,所有糖果必须全部分完,不能有剩余。
请问有多少种不同的分配糖果的方法?请输出答案对 $10^9 + 7$ 取模后的结果。这里,若存在某个孩子分到的糖果数不同,则认为两种分配方法不同。
输入格式
输入以如下格式从标准输入给出。
> $N$ $K$ $a_1$ $a_2$ $\ldots$ $a_N$
输出格式
输出分配糖果的方法数对 $10^9 + 7$ 取模后的结果。
说明/提示
### 限制条件
- 所有输入均为整数。
- $1 \leq N \leq 100$
- $0 \leq K \leq 10^5$
- $0 \leq a_i \leq K$
### 样例解释 1
分配糖果的方法共有 $5$ 种。对于每个序列,第 $i$ 个元素表示第 $i$ 个孩子分到的糖果数。
- $(0, 1, 3)$
- $(0, 2, 2)$
- $(1, 0, 3)$
- $(1, 1, 2)$
- $(1, 2, 1)$
### 样例解释 2
也有可能不存在任何一种分配糖果的方法。
### 样例解释 3
分配糖果的方法只有 $1$ 种。
- $(0, 0)$
### 样例解释 4
不要忘记将答案对 $10^9 + 7$ 取模后输出。
由 ChatGPT 4.1 翻译