时间复杂度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)