AT_dp_m Candies
Description
[problemUrl]: https://atcoder.jp/contests/dp/tasks/dp_m
$ N $ 人の子供たちがいます。 子供たちには $ 1,\ 2,\ \ldots,\ N $ と番号が振られています。
子供たちは $ K $ 個の飴を分け合うことにしました。 このとき、各 $ i $ ($ 1\ \leq\ i\ \leq\ N $) について、子供 $ i $ が受け取る飴の個数は $ 0 $ 以上 $ a_i $ 以下でなければなりません。 また、飴が余ってはいけません。
子供たちが飴を分け合う方法は何通りでしょうか? $ 10^9\ +\ 7 $ で割った余りを求めてください。 ただし、$ 2 $ 通りの方法が異なるとは、ある子供が存在し、その子供が受け取る飴の個数が異なることを言います。
Input Format
N/A
Output Format
N/A
Explanation/Hint
### 制約
- 入力はすべて整数である。
- $ 1\ \leq\ N\ \leq\ 100 $
- $ 0\ \leq\ K\ \leq\ 10^5 $
- $ 0\ \leq\ a_i\ \leq\ K $
### Sample Explanation 1
子供たちが飴を分け合う方法は、次の $ 5 $ 通りです。 各数列において、$ i $ 番目の要素は子供 $ i $ が受け取る飴の個数を表します。 - $ (0,\ 1,\ 3) $ - $ (0,\ 2,\ 2) $ - $ (1,\ 0,\ 3) $ - $ (1,\ 1,\ 2) $ - $ (1,\ 2,\ 1) $
### Sample Explanation 2
子供たちが飴を分け合う方法が存在しない場合もあります。
### Sample Explanation 3
子供たちが飴を分け合う方法は、次の $ 1 $ 通りです。 - $ (0,\ 0) $
### Sample Explanation 4
答えを $ 10^9\ +\ 7 $ で割った余りを出力することを忘れずに。