大佬可以帮忙看下为什么0-1背包那一题只过了40%吗? n, m = list(map(int, input().split())) costs = [] profits = [] # print(n) (9255)# print(m) for i in range(n): a, b = list(map(int, input().split())) if a <= m: costs.append(a) profits.append(b) dp = [0]*(m+1) for i in range(1, n): # print(costs[i]) for v in range(m, costs[i], -1): cost = costs[i] profit = profits[i] dp[v] = max(dp[v], dp[v-cost]+profits[i]) print(dp[-1])
点赞 4

相关推荐

2025-12-16 21:41
长沙理工大学 Java
不知道怎么取名字_:28届都开始出来找机会了,看来哪里都卷
实习简历求拷打
点赞 评论 收藏
分享
2025-11-07 15:41
暨南大学 C++
用微笑面对困难:我面试时候,就说了句”不愧是徐波的兵“他就破房了说是
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务