240785 - 货币系统

题目描述

母牛们不但创建了它们自己的政府而且选择了建立了自己的货币系统。由于它们特殊的思考方式,它们对货币的数值感到好奇。

传统地,一个货币系统是由 1,5,10,20,25,50,100 的单位面值组成的。

母牛想知道有多少种不同的方法来用货币系统中的货币来构造一个确定的数值。

举例来说, 使用一个货币系统 (1,2,5,10, \ldots) 产生 10 单位面值的一些可能的方法是:10 \times 1, 5 \times 2, 5 +2 \times 2 + 1, 2 \times 5 ,等等。

写一个程序来计算有多少种方法用给定的货币系统来构造一定数量的面值。保证总数在 64 位带符号整数的范围内。

输入

第一行两个整数:货币系统中货币的种类数目 V。要构造的数量钱是 N

第二行~V +1行,每行1个整数,代表所有可用的货币的面值。

输出

单独的一行,包含用这 V 种硬币凑足 N 单位货币的方案数。

样例

输入

3 10
1
2
5

输出

10
说明

数据范围

  • 1 \leq V \leq 25
  • 1 \leq N \leq 10,000

    来源

  • 翻译来自NOCOW
  • USACO 2.3
来源

一本通编程

标签
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 49
通过人数 27
金币数量 1 枚
难度 入门


上一题 下一题