# 최소비용 계산하기. 최소힙.
from heapq import *
import sys
input = sys.stdin.readline
t = int(input()) # 테스트 케이스 수
for _ in range(t):
k = int(input()) # 장 수
nums = list(map(int, input().split())) # 파일 크기
heapify(nums) # 힙으로 변환
total = 0 # 총합
while len(nums) > 1: # 더이상 더할 수가 없을때까지 더함
x = heappop(nums) # 가장 작은 수
y = heappop(nums) # 그 다음 작은 수
total += x + y # 총합에 더해주고 힙에 다시 추가
heappush(nums, x + y)
print(total)
https://www.acmicpc.net/problem/13975
'study > Algorithm' 카테고리의 다른 글
[백준] 파이썬 1939 : 중량제한 (0) | 2024.04.09 |
---|---|
[백준] 파이썬 1863번: 스카이라인 쉬운거 (0) | 2024.04.09 |
[백준] 파이썬 1697번: 숨바꼭질 (0) | 2024.04.09 |
[백준] 파이썬 7562번: 나이트의 이동 (0) | 2024.04.09 |
[백준] 파이썬 10026번: 적록색약 (0) | 2024.04.09 |