https://www.acmicpc.net/problem/1715
import sys
import heapq
input = sys.stdin.readline
n = int(input())
card = []
sum = 0
for _ in range(n):
heapq.heappush(card, int(input()))
while len(card)-1 > 0:
temp1 = heapq.heappop(card)
temp2 = heapq.heappop(card)
sum += (temp1+temp2)
heapq.heappush(card, temp1+temp2)
print(sum)
가장 작은 두 개의 값을 heap에서 빼주고 두개의 값을 더해서 다시 heap에 더해주면 된다.