#C08L04P07. C08.L04.位运算与二进制枚举.附加题2.家庭作业

C08.L04.位运算与二进制枚举.附加题2.家庭作业

题目描述

今天玩得很开心,但也很累,呜呜,......,不要呀,我的家庭作业还没完成呀!琦琦苦着脸跟妈妈说:“可不可以不做呀?”(你想太多了。)

琦琦今天的家庭作业是:给出 m 个数,从这 m 个数中任选 n 个数相加,可得到一系列的和。例如当 m = 4,n = 3,4 个整数分别是 3,7,10,11时,可得全部的组合与它们的和为:

3 + 7 + 10 = 20

3 + 7 + 11 = 21

7 + 10 + 11 = 28

3 + 10 + 11 = 24

要求计算出共得到多少个不同的和。

你能帮琦琦完成她的家庭作业吗?

输入格式

第一行为两个整数 m,n(0 < n ≤ m ≤ 20);

第二行为 m 个 0 ~ 500 之间的的整数。

输出格式

一行,为得到的不同和的个数。

样例

4 3
3 7 10 11
4
3 1
0 1 1
2
3 2
1 2 3
3