问题2455--Anya和立方体

2455: Anya和立方体

时间限制: 2 Sec  内存限制: 256 MB
提交: 49  解决: 5
[提交] [状态] [讨论版] [命题人:]

题目描述

Anya有n个立方体排成一行,从左到右编号从1到n,上面写着自然数,她还有k个带感叹号的贴纸。我们知道贴纸的数量不会超过立方体的数量。
 
Anya可以在立方体上粘贴一个感叹号,并得到写在立方体上的数字的阶乘。例如,如果一个立方体数字是5,那么在粘贴之后它得到5! 等于120。 
 
你需要帮助Anya计算,选择一定数量的立方体,并在其中最多k个立方体上粘贴感叹号,使得这些数字的和等于给定的数字S Anya最多可以在每个立方体上贴上一个感叹号。 你可以做到吗?
 
如果有两种方式选择的立方体是相同的并且粘贴感叹号的立方体也是相同的,则认为这两种方式相同。

输入

输入的第一行包含三个空格分隔的整数nkS (1 ≤ n ≤ 25, 0 ≤ kn, 1 ≤ S ≤ 1016) ——立方体的数目和贴纸的数量,和Anya需要的总和。
 
第二行包含n个正整数ai (1 ≤ ai ≤ 109)——这些数字是依次写在立方体上的数字。 
  
输入中的立方体数字按从左到右的顺序描述,从第一个开始。 
   
多个立方体可以是相同的数字

输出

输出有多少种方法,选择一定数量的立方体,并在其中一些立方体上粘贴感叹号,使得这些数字的和等于给定的数字S

样例输入

2 2 7
4 3

样例输出

1

提示

这里提供两个样例说明。

input1:
2 2 7
4 3

output1:
1


input2:
3 1 1
1 1 1
output2:
6


在第一个样例中,唯一的方法是同时选择两个立方体,但不要在其中任何一个上添加感叹号。
 
在第二个样例中,有三种方法可以选择任何一个立方体,我们也可以选择粘贴或不粘贴感叹号。所以总方法数是6。

来源/分类

 

[提交] [状态]