提交时间:2023-01-14 16:18:29

运行 ID: 67590

#include<bits/stdc++.h> using namespace std; const int T=1010,M=110; int dp[M][T]; // dp[i][j] : 在j时间内采摘前i株采药的价值(最大值) int main(){ int t,m; cin>>t>>m; for(int i=1;i<=m;i++){ int ti,mi; cin>>ti>>mi; for(int j=1;j<=t;j++){ if(j<ti) dp[i][j]=dp[i-1][j]; else dp[i][j]=max(dp[i-1][j],dp[i-1][j-ti]+mi); } } cout<<dp[m][t]<<endl; return 0; }