#P998. 【入门】货币问题

【入门】货币问题

题目描述

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

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

输入格式

第一行:两个整数 n,mn,m

以下 nn 行:每行一个整数,第 i+1i+1 行为第 ii 种货币的面值 aia_i

输出格式

仅一行,一个整数,表示不同的方案数。

样例

3 10
1
2
5
10

提示

样例解释

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

  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

数据范围

1n1001\le n\le 100

1m50001\le m\le 5000

1aim1\le a_i\le m

方案数 1018\le 10^{18}

来源

动态规划 完全背包