数字组合[2]
测试数据来自 system/3027
时间限制:1秒 内存限制:256M
【问题描述】
给定 \(n\) 个互异的正整数 \(a_1,a_2,…,a_n\)。问从这些数中选一些数构成和为 \(S\) 的组合可能有多少种?
【输入格式】
第一行是两个正整数 \(n\) 和 \(S\)。
接下来的一行是 \(n\) 个正整数:\(a_1,a_2,…,a_n\),整数互不相同。
【输出格式】
第一行输出方案数 \(mod\ 10^9+7\),若不存在解则输出 No。
【输入输出样例】
Input
5 6
1 2 3 4 5
Output
3
【样例解释】
和为 6 的组合方式有:1+2+3、2+4、1+5。
【数据限制】
对于 100% 的数据满足:\(0<n≤500\),\(0<a_i≤1000\),\(0<S≤10^5\)。
【来源】
Mr.he