#include <iostream>
#include <vector>
using namespace std;
int maxScore(const vector<int>& time, const vector<int>& score, int days) {
int n = time.size();
vector<vector<int> > dp(n + 1, vector<int>(days + 1, 0));
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= days; ++j) {
if (j >= time[i - 1]) {
dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - time[i - 1]] + score[i - 1]);
} else {
dp[i][j] = dp[i - 1][j];
}
}
}
return dp[n][days];
}
int main() {
int timeArr[] = {1, 2, 3, 1};
int scoreArr[] = {7, 8, 9, 6};
vector<int> time(timeArr, timeArr + sizeof(timeArr) / sizeof(timeArr[0]));
vector<int> score(scoreArr, scoreArr + sizeof(scoreArr) / sizeof(scoreArr[0]));
int days = 4;
int result = maxScore(time, score, days);
cout << "最大评分为: " << result << endl;
return 0;
}