본문 바로가기

알고리즘 문제풀이

카드 합체 놀이[백준 15903]

https://www.acmicpc.net/problem/15903

 

 

우선순위 큐를 만들어서 문제를 해결하면 된다.

import heapq 

n,m=map(int,input().split())
arr= list(map(int,input().split()))

heapq.heapify(arr)

for _ in range(m):
    a = heapq.heappop(arr)
    b = heapq.heappop(arr)
    new = a+b 
    heapq.heappush(arr, new)
    heapq.heappush(arr, new)
print(sum(arr))