解题思路:
注意事项:
参考代码:
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 人评分
C语言训练-排序问题<1> (C语言代码)浏览:557 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:583 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:572 |
printf基础练习2 (C语言代码)浏览:567 |
C语言训练-排序问题<1> (C++代码)浏览:589 |
C语言训练-斐波纳契数列 (C语言代码)浏览:1165 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:518 |
DNA (C语言代码)浏览:540 |
Cylinder (C语言描述+详细分析)浏览:3262 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:753 |