문제 풀이 및 개발 공간

[백준] 22115번 창영이와 커피 (gold 5 본문

백준공부/java

[백준] 22115번 창영이와 커피 (gold 5

gomduri43 2023. 9. 24. 20:10

import java.io.*;
import java.util.*;

public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st=new StringTokenizer(br.readLine());
        int n=Integer.valueOf(st.nextToken());
        int k=Integer.valueOf(st.nextToken());
        st=new StringTokenizer(br.readLine());
        int[] dp=new int[k+1];
        for(int i=0; i<n; i++){
            int temp=Integer.valueOf(st.nextToken());
            for(int j=k; j>=1; j--){
                if(temp==j){
                    dp[j]=1;
                }
                else if(dp[j]!=0 && j+temp<=k){
                    if(dp[j+temp]==0){
                        dp[j+temp]=dp[j]+1;
                    }
                    else{
                        dp[j+temp]=Math.min(dp[j+temp], dp[j]+1);
                    }


                }

            }
        }
        bw.write(dp[k]==0 && k!=0 ? "-1" : dp[k]+"");
        bw.flush();

    }
}