解题思路:
注意事项:
参考代码:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int v=sc.nextInt();
int n=sc.nextInt();
int[] a=new int[31];
int []dp=new int[20010];
for(int i=1;i<=n;i++) {
a[i]=sc.nextInt();
}
for(int i=1;i<=n;i++) {
for(int j=v;j>=1;j--) {
if(j>=a[i]) {
dp[j]=Math.max(dp[j], dp[j-a[i]]+a[i]);
}
}
}
System.out.print(v-dp[v]);
}
}
0.0分
1 人评分
(格式错误) qq290048663 碰巧告知我吧浏览:642 |
C语言程序设计教程(第三版)课后习题4.9 (C++代码)浏览:2149 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:727 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:525 |
C语言训练-阶乘和数* (C语言代码)浏览:994 |
数组输出 (C语言代码)--此题的题目描述有问题浏览:1816 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1420 |
简单的a+b (C语言代码)浏览:335 |
【金明的预算方案】 (C++代码)浏览:939 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:633 |