Lang:Java
Edit12345678910111213141516171819202122232425262728import java.io.BufferedInputStream;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(new BufferedInputStream(System.in));int n = in.nextInt(), m = in.nextInt();int[] need = new int[n], value = new int[n];for (int i = 0; i < n; i++) {need[i] = in.nextInt();value[i] = in.nextInt();}int[] dp = new int[m + 1];for (int i = 0; i < n; i++) {for (int j = m; j > 0; j--) {dp[j] = Math.max(dp[j], j >= need[i] ? dp[j - need[i]]+ value[i] : 0);}}System.out.println(dp[m]);}}