# -*- coding: utf-8 -*- # Time : 2023/11/23 15:08 # Author : lirunsheng # User : l'r's # Software: PyCharm # File : demo1.py import heapq def huffman_cost(nums): heapq.heapify(nums) # 将列表转换为小顶堆 total_cost = 0 while len(nums) > 1: # 从堆中取出最小的两个数 min1 = heapq.heappop(nums) min2 = heapq.heappop(nums) # 将两个数的和加入堆中 heapq.heappush(nums, min1 + min2) # 累加费用 total_cost += min1 + min2 return total_cost # 读取输入 n = int(input()) nums = list(map(int, input().split())) # 计算 Huffman 树的总费用并输出 result = huffman_cost(nums) print(result)