#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 人评分
素数判断模板题(题解中的函数能用来判断大数是不是素数)浏览:892 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:621 |
人见人爱A+B (C语言代码)浏览:808 |
假币问题 (C++代码)(向上取整的一种处理方式)浏览:1802 |
简单的a+b (C语言代码)浏览:676 |
川哥的吩咐 (C++代码)浏览:1076 |
C语言训练-素数问题 (C语言代码)浏览:1065 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:700 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:909 |
C语言训练-大、小写问题 (C语言代码)浏览:649 |