P1658 购物

题目描述

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

输入格式

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

输出格式

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

说明/提示

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