import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int V=sc.nextInt(); int N=sc.nextInt(); int[]dp=new int[V+1]; for (int i = 0; i < N; i++) { int w=sc.nextInt(); int v=w; int s=1; for (int j = 1; j <=s; s-=j,j*=2) { for (int k = V; k >=j*w; k--) { dp[k]=Math.max(dp[k], dp[k-j*w]+j*v); } } } System.out.println(V-dp[V]); } }
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:711 |
【排队买票】 (C语言代码)浏览:919 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:551 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:847 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:492 |
1017题解浏览:621 |
简单的a+b (C语言代码)浏览:437 |
循环入门练习6 (C语言代码)浏览:993 |
罗列完美数 (C语言代码)浏览:497 |
输入输出格式练习 (C语言代码)浏览:855 |