时间复杂度nlogn,空间复杂度n
def minimum_cost_to_buy_all_goods(n, m, x, costs):
costs.sort(reverse=True)
for i in range(len(costs)):
number=costs[i]//x
if number==0:
pass
elif m>number:
costs[i]-=number*x
m-=number
else:
costs[i]-=m*x
m=0
costs.sort(reverse=True)
for i in range(m):
costs[i]=0
return sum(costs)
# Example
n, m, x = [5, 4, 5]
costs = [5, 9, 3, 3, 7]
minimum_cost_to_buy_all_goods(n, m, x, costs)
def minimum_cost_to_buy_all_goods(n, m, x, costs):
costs.sort(reverse=True)
for i in range(len(costs)):
number=costs[i]//x
if number==0:
pass
elif m>number:
costs[i]-=number*x
m-=number
else:
costs[i]-=m*x
m=0
costs.sort(reverse=True)
for i in range(m):
costs[i]=0
return sum(costs)
# Example
n, m, x = [5, 4, 5]
costs = [5, 9, 3, 3, 7]
minimum_cost_to_buy_all_goods(n, m, x, costs)
点赞 0 评论 1
全部评论
相关推荐
点赞 评论 收藏
分享