1 #include<bits/stdc++.h> 2 using namespace std; 3 int w[1001],v[100003],f[1001]={0}; 4 int main() 5 { 6 int m,n; 7 scanf("%d %d",&m,&n); //m容量 n种药材 8 for(int i=1;i<=n;++i) 9 scanf("%d %d",&w[i],&v[i]);//重量 价值 10 for(int i=1;i<=n;++i) 11 for(int j=w[i]; j<=m;++j) 12 f[j]=max(f[j],f[j-w[i]]+v[i]); //状态转移方程 13 14 printf("%d ",f[m]); 15 return 0; 16 }