포도가게의 개발일지
python 15903 카드 합체 놀이 본문
반응형
https://www.acmicpc.net/problem/15903
문제 : 가장 작은 카드 조합 만들기
접근법
- 가장 작게 만드는 문제
- 전체 카드에서 가장 작은 카드 2개를 뽑아서 더한값이 nC2 조합중 가장 작은 수의 합이다
- 그리디 알고리즘으로 접근 및 우선순위 큐를 이용하여 접근
import sys
import heapq
#sys.stdin = open("inputs.text")
n,m = map(int,sys.stdin.readline().split())
arr = list(map(int,sys.stdin.readline().split()))
heapq.heapify(arr)
for _ in range(m):
a = heapq.heappop(arr)
b = heapq.heappop(arr)
c = a + b
heapq.heappush(arr,c)
heapq.heappush(arr,c)
answer = sum(arr)
print(answer)
'백준' 카테고리의 다른 글
python 백준 2193 이친수 (0) | 2021.09.15 |
---|---|
python 백준 13305 주유소 (0) | 2021.09.14 |
python 백준 5557 1학년(dp) (0) | 2021.09.01 |
python 백준 1946 신입사원 (0) | 2021.08.30 |
python 백준 1931 회의실 배정 (0) | 2021.08.30 |
Comments