测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A1950. 硬币的面值

编程题 普及/提高-
知识点

题目描述

小 A 有 $n$ 种硬币,现在要买一样不超过 $m$ 元的商品,他不想得到找钱(多脏啊),同时又不想带太多的硬币,且硬币可以重复,现在已知这 $n$ 种硬币的价值,请问最少需要多少硬币就能组合成所有可能的价格?

输入格式

第一行两个数:$n, m$。

下一行,共 $n$ 个数字,表示硬币的面值。

输出格式

一行一个数,表示最少需要多少硬币。如果无解请输出 No answer!!!

输入输出样例

输入 #1
5 31
1 2 8 4 16
输出 #1
5

说明/提示

【数据范围】

只有 9、10 会卡人,放心贪

对于 $20\%$ 的数据,$1 \le n \le 10$,$1 \le m \le 100$。
对于 $60\%$ 的数据,$1 \le n \le 1000$,$1 \le m \le 10000$。
对于 $80\%$ 的数据,$1 \le n \le 30000$,$1 \le m \le 2 \times {10}^9$。
对于 $100\%$ 的数据,$1 \le n \le 2 \times {10}^5$,$1 \le m \le 2^{63}$。
上一题 去做题 下一题