分析:裸的完全背包问题
1 #include "iostream" 2 #include "cstdio" 3 #include "cstring" 4 #include "string" 5 using namespace std; 6 const int maxn=1e5+100; 7 int dp[maxn]; 8 int n,m; 9 int c[maxn],t[maxn]; 10 int main() 11 { 12 cin>>m>>n; 13 for(int i=1;i<=n;i++) 14 cin>>c[i]>>t[i]; 15 for(int i=1;i<=n;i++){ 16 for(int j=t[i];j<=m;j++) 17 dp[j]=max(dp[j],dp[j-t[i]]+c[i]); 18 } 19 cout<<dp[m]<<endl; 20 }