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 人评分
简单的a+b (C语言代码)浏览:647 |
C语言训练-斐波纳契数列 (C语言代码)浏览:1174 |
十->二进制转换 (C语言代码)浏览:1292 |
【出圈】 (C语言代码)浏览:796 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:858 |
剪刀石头布 (C语言代码)浏览:1755 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:660 |
C语言训练-数字母 (C语言代码)浏览:608 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:1175 |
单词个数统计 (C语言代码)浏览:1013 |