| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 78212 | sh25_wangtaojie | 钓鱼 | C++ | 无测评数据 | 0 MS | 0 KB | 882 | 2025-12-26 15:28:52 |
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n, h; cin >> n >> h; vector<int> F(n), d(n), t(n-1); for (int i = 0; i < n; ++i) cin >> F[i]; for (int i = 0; i < n; ++i) cin >> d[i]; for (int i = 0; i < n-1; ++i) cin >> t[i]; vector<vector<int>> dp(h*12+1, vector<int>(n, 0)); for (int time = 1; time <= h*12; ++time) { for (int i = 0; i < n; ++i) { if (i > 0) dp[time][i] = max(dp[time][i], dp[time][i-1]); if (time >= t[i-1]) { int fish = 0; for (int j = 0; j < time; ++j) { fish += max(0, F[i] - j * d[i]); } dp[time][i] = max(dp[time][i], dp[time-t[i-1]][i-1] + fish); } } } cout << dp[h*12][n-1] << endl; return 0; }