```python def knapsack(n, g, w, v): dp = [[0] * (g + 1) for _ in range(n + 1)] for i in range(1, n + 1): for j in range(1, g + 1): if j >= w[i - 1]: dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - w[i - 1]] + v[i - 1]) else: dp[i][j] = dp[i - 1][j] return dp[n][g] if __name__ == "__main__": n, g = map(int, input().split()) weights = list(map(int, input().split())) values = list(map(int, input().split())) print(knapsack(n, g, weights, values)) ``` [2024-06-10 11:26:54 | AI写代码神器 | 233点数解答]