#11679. 珅泽教育CSP-J第一轮模拟考第十六套 第 42 题
珅泽教育CSP-J第一轮模拟考第十六套 第 42 题
三、完善程序(单选题,每小题3分,共计30分)
第2题
自助餐厅有 种菜,每种菜只能点一次。当点了某道菜时,这道菜会立即出现。吃第 种菜耗时 、美味度为 。需要吃完一道菜才能点下一道。最后一道菜的点单时刻需要严格早于一个给定的整数 。点单停止后,还可以继续吃端上来的菜。求可以得到的最大美味度总和。
int solve(int N, int T, int A[], int B[])
{
int f[3001][3000] = {0};
int g[3001][3000] = {0};
for (int i = 0; i < N; ++i) {
int a = A[i];
int b = B[i];
for (int x = ____(1)____ )
{
f[i + 1][x] = std::max(f[i][x], ____(2)____ );
}
for (int x = a - 1; x >= 0; x--)
{
f[i + 1][x] = f[i][x];
}
}
for (int i = 0; i < N; ++i)
{
int a = A[____(3)____];
int b = B[____(4)____];
for (int x = T - 1; x >= a; x--)
{
g[i + 1][x] = std::max(g[i][x], g[i][x-a] + b);
}
for (int x = ____(5)____ )
{
g[i + 1][x] = g[i][x];
}
}
int max = 0;
for (int last = 0; last < N; ++last)
{
for (int t0 = 0; t0 < T; ++t0)
{
for (int t1 = ____(6)____; ____(7)____ < T; ++t1) {
max = std::max(max, ____(8)____ );
}
}
}
return max;
}
(3)(4)处应填( )。
{{ select(1) }}
i, iN - i, N - iN - i - 1, N - i - 1i + 1, i + 1