法姐求求你回归吗......
2023-07-26 18:56:00
发布于:江苏
8阅读
0回复
0点赞
#include <iostream>
#include <vector>
using namespace std;
int main() {
int T, M;
cin >> T >> M;
vector<int> time(M + 1); // 采摘时间
vector<int> value(M + 1); // 草药的价值
for (int i = 1; i <= M; i++) {
cin >> time[i] >> value[i];
}
vector<vector<int>> dp(M + 1, vector<int>(T + 1, 0));
for (int i = 1; i <= M; i++) {
for (int j = 1; j <= T; j++) {
if (time[i] > j) {
dp[i][j] = dp[i - 1][j];
} else {
dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - time[i]] + value[i]);
}
}
}
cout << dp[M][T] << endl;
return 0;
}
这里空空如也
有帮助,赞一个