题目描述
Sasha 和 Kolya 决定再次用可乐把自己灌醉。这次他们有 k 种可乐,第 i 种的可乐二氧化碳浓度为 1000ai。今天,在温哥华 Sergiy 的派对上,他们决定调一杯二氧化碳浓度为 1000n 的可乐。饮料必须美味,因此每种可乐类型在杯中只能加入整数升(某些类型可以不加入)。此外,他们希望杯中的可乐总体积最小。
二氧化碳浓度的定义是可乐中二氧化碳的体积除以可乐的总体积。当混合两种可乐时,二氧化碳的总体积相加,可乐的总体积也相加。
请帮助他们找到制备二氧化碳浓度为 1000n 的可乐所需的最小自然数升数。假设朋友们每种可乐类型的供应是无限的。
输入格式
第一行包含两个整数 n,k,表示朋友们想要的二氧化碳浓度和可乐类型的数量。
第二行包含 k 个整数 a1,a2,…,ak,表示每种可乐类型的二氧化碳浓度。某些可乐类型的浓度可能相同。
输出格式
输出制备二氧化碳浓度为 1000n 的可乐所需的最小自然数升数。如果不可能,则输出 −1。
400 4
100 300 450 500
2
50 2
100 25
3
说明 / 提示
在第一个示例中,我们可以通过混合 1 升 1000300 和 1 升 1000500 的可乐来达到浓度 1000400:1000+1000300+500=1000400。
在第二个示例中,我们可以通过混合 2 升 100025 和 1 升 1000100 的可乐来达到浓度 100050:3⋅100025+25+100=100050。
400 1
400
1
数据范围
(0≤n≤1000,1≤k≤106)
(0≤ai≤1000)