#YHW104. 育华的义卖活动

育华的义卖活动

题目描述

育华学校组织同学们去参加校园义卖活动,你需要准备一些零钱用于购物。你有 NN 种不同面值的代金券,并且每种代金券有无限多张。为了方便购物,你希望携带最少数量的代金券,同时能够组合出 11XX 之间的任意价格。请你编写程序计算出最少需要携带多少张代金券,如果无法满足条件则输出 1-1

输入格式

第一行包含两个整数 XXNN,其中 XX 表示需要能够组合出的最大价格,NN 表示代金券的种类数。

接下来的 NN 行,每行一个整数,表示每种代金券的面值。

输出格式

输出一个整数,表示最少需要携带的代金券数量。如果无法满足条件,则输出 1-1

样例 #1

样例输入 #1

30 3
1 3 5

样例输出 #1

8

数据范围

对于 30%30\% 的数据,满足 N3N \leq 3X20X \leq 20

对于 100%100\% 的数据,满足 N10N \leq 10X1000X \leq 1000