#P998. 【入门】货币问题

【入门】货币问题

题目描述

某国家有 nn 种不同面值的货币,第 ii 种货币价值 aia_i 元。请问:如果每种货币都提供任意多的数量的情况下,凑出 mm 元金额的货币,有多少种不同的方案?

注意:方案不考虑顺序,例如 1+21+22+12+1 视为同一种方案。

输入格式

第一行:两个整数 n,mn, m1n1001 \le n \le 1001m50001 \le m \le 5000);

以下 nn 行:每行一个整数,第 i+1i+1 行为第 ii 种货币的面值 aia_i1aim1 \le a_i \le m)。

输出格式

仅一行,一个整数,表示不同的方案数(题目保证方案数 1018\le 10^{18})。

输入输出样例

输入 #1

3 10
1
2
5

输出 #1

10

样例解释

凑出10元的10种方案如下:

  1. 1+1+1+1+1+1+1+1+1+11+1+1+1+1+1+1+1+1+1
  2. 1+1+1+1+1+1+1+1+21+1+1+1+1+1+1+1+2
  3. 1+1+1+1+1+1+2+21+1+1+1+1+1+2+2
  4. 1+1+1+1+2+2+21+1+1+1+2+2+2
  5. 1+1+2+2+2+21+1+2+2+2+2
  6. 2+2+2+2+22+2+2+2+2
  7. 1+1+1+1+1+51+1+1+1+1+5
  8. 1+1+1+2+51+1+1+2+5
  9. 1+2+2+51+2+2+5
  10. 5+55+5