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

A1939. 购物

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

题目描述

你就要去购物了,现在你手上有 $N$ 种不同面值的硬币,每种硬币有无限多个。为了方便购物,你希望带尽量少的硬币,但要能组合出 $1$ 到 $X$ 之间的任意值。

输入格式

第一行两个数 $X, N$,以下 $N$ 个数,表示每种硬币的面值。

输出格式

最少需要携带的硬币个数,如果无解输出 -1

输入输出样例

输入 #1
20 4
1 2 5 10
输出 #1
5

说明/提示

对于 $30\%$ 的数据,满足 $N \le 3$,$X \le 20$;

对于 $100\%$ 的数据,满足 $N \le 10$,$X \le 10^3$。
上一题 去做题 下一题