
문제를 통해 알 수 있듯 카드 묶음의 카드의 개수가 작은 순서대로 먼저 합치는 것이 전체 비교횟수를 줄일 수 있는 방법임을 알 수 있다. 이때, 더한 값을 다시 저장할때마다 정렬이 일어나야 하므로 우선순위 큐를 이용해서 해결하면 된다.
# 카드 정렬하기
from queue import PriorityQueue
import sys
input = sys.stdin.readline
N = int(input())
q = PriorityQueue()
compareCnt = 0
for _ in range(N):
    q.put(int(input()))
while q.qsize():
    if q.qsize() == 1:
        print(compareCnt)
        break
    else:
        first = q.get()
        second = q.get()
        compareCnt += first + second
        q.put(first + second)