哈夫曼树
样例
输入:
5
1 2 2 5 9
输出:
37
算法1
n=int(input())
lst=list(map(int ,input().split()))
def sort1(lst):
for i in range(len(lst)-1):
k=i
for j in range(i+1,len(lst)):
if(lst[k]>lst[j]):
k=j
if k!=i:
temp=lst[k]
lst[k]=lst[i]
lst[i]=temp
def hafman(lst):
cost=0
while(len(lst)>1):
sort1(lst)
sum=lst[0]+lst[1]
lst.pop(0)
lst.pop(0)
lst.append(sum)
cost+=sum
return cost
cost=hafman(lst)
print(cost)