#include<iostream>#include<bits/stdc++.h>usingnamespace std;int T,M;int dp[100500]={0};int wei[100500]={0};int timee[100500]={0};intmain(){scanf("%d%d",&T,&M);for(int i =1; i <= M; i++){scanf("%d%d",&timee[i],&wei[i]);}//要分清楚哪个是空间,也可以是时间,哪个是容器 for(int i =1; i <= M; i++){for(int v = timee[i]; v <=T ; v++){if(dp[v]<(dp[v-timee[i]]+wei[i])){
dp[v]= dp[v-timee[i]]+wei[i];}}}printf("%d\n",dp[T]);return0;}
P1048 采药.cpp
#include<iostream>#include<bits/stdc++.h>usingnamespace std;int T,M;int dp[1005]={0};int wei[1005]={0};int timee[1005]={0};intmain(){scanf("%d%d",&T,&M);for(int i =1; i <= M; i++){scanf("%d%d",&timee[i],&wei[i]);}//要分清楚哪个是空间,也可以是时间,哪个是容器 for(int i =1; i <= M; i++){for(int v = T; v >= timee[i]; v--){if(dp[v]<(dp[v-timee[i]]+wei[i])){
dp[v]= dp[v-timee[i]]+wei[i];}}}printf("%d\n",dp[T]);return0;}