提交时间:2023-01-12 16:33:13

运行 ID: 67339

#include<bits/stdc++.h> using namespace std; long long timer[26],value[26],dp[26][30001]={0}; int m,n; int main(){ cin>>m>>n; for(int i=1;i<=n;i++){ cin>>timer[i]>>value[i]; } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(timer[i]<=j) dp[i][j]=max(dp[i-1][j],dp[i-1][j-timer[i]]+value[i]*timer[i]); else dp[i][j]=dp[i-1][j]; } } cout<<dp[n][m]<<endl; }