알고리즘/백준

백준 15810 - 풍선 공장

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

 

15810번: 풍선 공장

1, 2, 3번 스태프가 각각 5분, 7분, 3분씩 걸린다면 3분이 지났을 때 3번 스태프가 1개, 5분에 1번 스태프가 1개, 6분에 3번 스태프가 1개를, 7분에 2번 스태프가 1개를, 9분에 3번 스태프가 1개를, 10분에

www.acmicpc.net

 

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)