https://www.acmicpc.net/problem/15810
1. 유형
우선순위큐
2. 풀이
1) [누적시간, 개인당 작업 시간] 형식으로 우선순위큐 선언
2) 정해진 갯수를 만들때 까지 반복
3. 풀이
import sys
import heapq
N, M = map(int, input().split())
list = list(map(int, input().split()))
pq = []
for ll in list:
heapq.heappush(pq, [ll, ll])
count =0
timeSum = 0
while True:
if count == M:
break
sum, time = heapq.heappop(pq)
count+=1
timeSum=sum
heapq.heappush(pq, [sum+time, time])
print(timeSum)
'알고리즘 > 백준' 카테고리의 다른 글
백준 21610 - (Java, python) 마법사 상어와 비바라기 (0) | 2021.06.03 |
---|---|
백준 - 1662 압축 (0) | 2021.05.23 |
백준 2910 - (python)빈도 정렬 (0) | 2021.05.01 |
백준 17609 - (python)회문 (0) | 2021.05.01 |
백준 13901 - (python) 로봇 (0) | 2021.04.28 |