解法:动态规划,但是我觉得这样空余空间太多了,想在后续的学习中进行优化,比如离散化之类的,继续学习。
#include <iostream>
using namespace std;
int n,m,v,p,f[30003];
int main()
{
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>v>>p;
for(int j=n;j>=v;j--)
f[j]=max(f[j],f[j-v]+v*p);
}
cout<<f[n]<<endl;
return 0;
}