문제 URL : https://www.acmicpc.net/problem/15903
15903번: 카드 합체 놀이
첫 번째 줄에 카드의 개수를 나타내는 수 n(2 ≤ n ≤ 1,000)과 카드 합체를 몇 번 하는지를 나타내는 수 m(0 ≤ m ≤ 15×n)이 주어진다. 두 번째 줄에 맨 처음 카드의 상태를 나타내는 n개의 자연수 a1,
www.acmicpc.net
문제 접근법 :
pq를 이용하는 문제입니다.
입력받은것을 2개뽑아서 더한값을 2번이나 다시 pq에 넣어서 m번 반복후
pq안에있는값의 합을 구하는 문제입니다.
소스코드 :
import heapq
import sys
input = sys.stdin.readline
n,m = map(int,input().split())
pq = list(map(int,input().split()))
heapq.heapify(pq)
for i in range(m):
a,b = heapq.heappop(pq),heapq.heappop(pq)
heapq.heappush(pq,a+b)
heapq.heappush(pq,a+b)
print(sum(pq))
궁금한점 혹은 모르는점 논리적인 오류등 어떤질문이든 댓글은 언제나 환영입니다.
'백준' 카테고리의 다른 글
백준 9657 돌 게임3 (2) | 2023.12.21 |
---|---|
백준 9345 디지털 비디오 디스크(DVDs) (1) | 2023.12.20 |
백준 1213 팰린드롬 만들기 (0) | 2023.12.19 |
백준 11501 주식 (1) | 2023.12.19 |
백준 1943 동전분배 (0) | 2023.12.14 |