完全背包,注意dp的初始化
import java.util.*;
public class Main{
    static int maxValue=0;
    public static void main(String []args){
        Scanner input=new Scanner(System.in);
        int n=input.nextInt();
        int amin=input.nextInt();
        int[] num=new int[n];
        for(int i=0;i<n;i++){
            num[i]=input.nextInt();
        }
        
        int[]dp=new int [amin+1];
        Arrays.fill(dp,Integer.MAX_VALUE-2);
        dp[0]=0;
       for(int i=0;i<n;i++){
           for(int j=num[i];j<=amin;j++){
               dp[j]=Math.min(dp[j],dp[j-num[i]]+1);
           }
       }
        if(dp[amin]==Integer.MAX_VALUE-2)
            System.out.println(-1);
        else 
            System.out.println(dp[amin]);
    }
    
}