#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,aim;
scanf("%d %d\n",&n,&aim);
vector<int> dp(aim+1,INT_MAX-1);
dp[0] = 0;
for(int i=0;i<n;i++) {
int item;
scanf("%d",&item);
for(int j=item;j<=aim;j++)
dp[j] = min(dp[j],dp[j-item]+1);
}
printf("%d\n",dp[aim]==INT_MAX-1? -1:dp[aim]);
return 0;
}

京公网安备 11010502036488号