枚举, DP优化之后也没有能通过所有案例.
def max_value(n, m, a, b): max_total = 0 # 枚举组成一号大礼包的数量 x for x in range(min(n // 2, m) + 1): # 剩余资源 remaining_n = n - 2 * x remaining_m = m - x # 计算能够组成的二号大礼包数量 y y = min(remaining_n, remaining_m // 2) # 计算总价值 total = x * a + y * b # 更新最大值 if total > max_total: max_total = total return max_total # 读取输入 n, m, a, b = map(int, input().split()) # 输出结果 print(max_value(n, m, a, b))