洛谷 P1048采药
https://www.luogu.com.cn/problem/P1048
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <queue>
#include <map>
#include <set>
#include <stack>
#include <vector>
typedef long long LL;
typedef std::pair<int ,int> PP;
const int N = 105;
int tm[N],va[N],dp[1005];
int tt,m;
int main()
{
std::cin >> tt >> m;
memset(dp,0,sizeof(dp));
for(int i=1; i<=m; i++) std::cin >> tm[i] >> va[i];
for(int i=1; i<=m; i++){
for(int j=tt; j>=tm[i]; j--){
dp[j] = std::max(dp[j],dp[j-tm[i]]+va[i]);
}
}
std::cout << dp[tt];
return 0;
}
洛谷 P1060 开心的金明
https://www.luogu.com.cn/problem/P1060
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <queue>
#include <map>
#include <set>
#include <stack>
#include <vector>
typedef long long LL;
typedef std::pair<int ,int> PP;
const int N = 105,M = 30005;
int va[N],we[N],dp[M];
int tt,m;
int main()
{
std::cin >> tt >> m;
for(int i=0; i<m; i++){
std::cin >> va[i] >> we[i];
}
for(int i=0; i<m; i++){
for(int j=tt; j>=va[i]; j--){
dp[j] = std::max(dp[j], dp[j-va[i]]+va[i]*we[i]);
}
}
std::cout << dp[tt];
return 0;
}