AT_dp_m.Candies
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 N 个孩子。孩子们被编号为 1,2,…,N。
他们要一起分配 K 颗糖果。此时,对于每个 i(1≤i≤N),第 i 个孩子能分到的糖果数必须在 0 到 ai 之间(包含 0 和 ai)。此外,所有糖果必须全部分完,不能有剩余。
请问有多少种不同的分配糖果的方法?请输出答案对 109+7 取模后的结果。这里,若存在某个孩子分到的糖果数不同,则认为两种分配方法不同。
输入格式
输入以如下格式从标准输入给出。
N K a1 a2 … aN
输出格式
输出分配糖果的方法数对 109+7 取模后的结果。
输入输出样例
输入#1
3 4 1 2 3
输出#1
5
输入#2
1 10 9
输出#2
0
输入#3
2 0 0 0
输出#3
1
输入#4
4 100000 100000 100000 100000 100000
输出#4
665683269
说明/提示
限制条件
- 所有输入均为整数。
- 1≤N≤100
- 0≤K≤105
- 0≤ai≤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
不要忘记将答案对 109+7 取模后输出。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?