菜鸡1号


私信TA

用户名:uq_69651989863

访问量:1465

签 名:

等  级
排  名 1215
经  验 3088
参赛次数 0
文章发表 48
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:

注意事项:

参考代码:

import heapq


def mergeFruits(fruits):

    heap = []

    for fruit in fruits:

        heapq.heappush(heap, fruit)

    

    total_cost = 0

    while len(heap) > 1:

        # 从堆中取出两堆果子

        fruit1 = heapq.heappop(heap)

        fruit2 = heapq.heappop(heap)

        

        # 合并果子堆,并计算合并的体力消耗

        merged_fruit = fruit1 + fruit2

        total_cost += merged_fruit

        

        # 将合并后的果子堆放回堆中

        heapq.heappush(heap, merged_fruit)

    

    return total_cost


# 读取输入

n = int(input())

fruits = list(map(int, input().split()))


# 调用函数计算最小体力耗费值

min_cost = mergeFruits(fruits)


# 输出结果

print(min_cost)


 

0.0分

0 人评分

  评论区

  • «
  • »