数字组合

提交数: 716, 通过率: 18.72%, 平均分: 61.52

题目描述:

在N个数中找出其和为M的若干个数。先读入正整数N(1<N<=3000)和M(1<M<=100000), 再读入N个正数(可以有相同的数字,每个数字均在1000以内), 在这N个数中找出若干个数, 使它们的和是M, 把满足条件的数字组合都找出来以统计组合的个数,输出组合的个数(不考虑组合是否相同)。要求你的程序运行时间不超过1秒。

(答案 mod 18446744073709551616 (此数为unsigned long long最大值+1))

输入格式:

第一行是两个数字,表示N和M。
第二行起是N个数。

输出格式:

就一个数字,表示和为M的组合的个数。

样例输入:

4 4 
1 1 2 2

样例输出:

3
时间限制: 1000ms
空间限制: 256MB