import java.util.Arrays; import java.util.Scanner; public class Main { public static void main (String[] args) { Scanner in = new Scanner(System.in); int cnt = in.nextInt(); int c = in.nextInt(); int dp[][] = new int[cnt+1][c+1]; int data [] = new int[cnt+1]; for(int i =1;i<=cnt;i++){ data[i]=in.nextInt(); } // System.out.println(Arrays.toString(data)); for(int i =1;i<=cnt;i++) for(int j = 1;j<=c;j++){ if(j>=data[i]){ if(dp[i-1][j]>(dp[i-1][j-data[i]]+data[i])) dp[i][j] = dp[i-1][j]; else dp[i][j] = dp[i-1][j-data[i]] + data[i]; } else{ dp[i][j] = dp[i-1][j]; } } System.out.println(dp[cnt][c]); } } /************************************************************** Problem: 2073 User: admin Language: Java Result: Accepted Time:3400 ms Memory:40420 kb ****************************************************************/