import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int M=sc.nextInt(); int N=sc.nextInt(); int[]dp=new int[M+1]; for (int i = 0; i < N; i++) { int w=sc.nextInt(); int v=sc.nextInt(); for (int k = M; k >=w; k--) { dp[k]=Math.max(dp[k], dp[k-w]+v); } } System.out.println(dp[M]); } }
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:623 |
母牛的故事 (C语言代码)浏览:1451 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:582 |
C二级辅导-公约公倍 (C语言代码)浏览:537 |
整除问题 (C语言代码)浏览:594 |
简单的事情 (C语言代码)浏览:679 |
拆分位数 (C语言代码)浏览:558 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:504 |
快速排序算法1浏览:996 |
众数问题 (C语言代码)浏览:660 |