找茬
题目背景
@big_news(fyh)实在是太毒瘤啦!他励志要卡掉爆搜(划掉)
big_news(以下简称bn)他很看不惯某可怜的售货员。
题目描述
bn想刁难这位“某可怜的售货员”。
bn有\(n\)种钢镚,每种钢镚都有一个价值\(v_i\),每种价值的钢镚都有无限多个。现在他要拿着这些钢镚去这位“某可怜的售货员”那里买一个\(P\)元的东西。
因为bn太蒻了,所以他只能想到一种刁难的方法,就是给这位“某可怜的售货员”尽量多的一堆钢镚,又让这位“某可怜的售货员”在辛辛苦苦数完这堆钢镚之后发现并不需要给bn找钱。
简单来说,就是给这位“某可怜的售货员”总价值正好为\(P\)元的尽量多的钢镚。
“某可怜的售货员”他太可怜啦!现在他找到了你,你能帮他数出bn一共给了他多少钢镚吗?(已知如果有可能,bn总会凑出价值\(P\)元的数量最多的钢镚并拿来付款)
输入/输出格式
Input
共2行
第一行,两个正整数\(n\)和\(P\),分别表示bn有多少种面值的钢镚和他要买多少钱的东西。
第二行,\(n\)个正整数\(v_1,v_2,...,v_n\),表示每种钢镚的面值。
Output
一行,一个正整数,表示bn会给的钢镚数量。
若bn无法完成找茬(即无论如何售货员都得给他找钱),输出-1。
输入/输出样例
Input
3 9
2 3 9
Output
4
数据范围
对于30%的数据,\(0<v_i<=n<=10\)且\(0<P<=200\)。
对于60%的数据,保证\(0<n<=100\)且\(0<v_i<=P<=1,000,000\)
另有40%的数据,\(0<n<=500\)且\(0<v_i<=P<=300,000\)。
对于测试点#3,答案为-1。
注:本题数据经过两程序检验,如有疑问,请联系蒟蒻bn
时空限制
time:1s
memory:128MB