#include<bits/stdc++.h> using namespace std; typedef long long ll; const ll MAX=987654321; ll n,m; ll dp[100000],v[100000],p[100000]; int main() { cin>>n>>m; for(int i=1;i<=m;i++) cin>>v[i]>>p[i]; for(int i=1;i<=m;i++) { for(int j=n;j>=v[i];j--) dp[j]=max(dp[j],dp[j-v[i]]+p[i]); } cout<<dp[n]; cout<<endl; return 0; }
解题思路:
注意事项:
参考代码:
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:692 |
C语言程序设计教程(第三版)课后习题8.3 (Java代码)浏览:1372 |
A+B for Input-Output Practice (IV) (C++代码)浏览:677 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:544 |
C语言考试练习题_保留字母 (C语言代码)浏览:712 |
蛇行矩阵 (C语言代码)浏览:535 |
Minesweeper (C语言描述,蓝桥杯)浏览:1126 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:556 |
循环入门练习6 (C语言代码)浏览:968 |
Tom数 (C语言代码)浏览:555 |