import java.util.*;
class Solution {
public int solution(int[] scoville, int K) {
int answer = 0;
PriorityQueue<Integer> q = new PriorityQueue<>();
for (int i = 0; i < scoville.length; i++) {
q.add(scoville[i]);
}
int cnt = 0;
while (q.size() > 1 && q.peek() < K) {
int scovG1 = q.poll(); // 가장 맵지 않은 음식의 스코빌 지수
int scovG2 = q.poll(); // 두 번째로 맵지 않은 음식의 스코빌 지수
int scovSum = scovG1 + (scovG2 * 2);
q.add(scovSum);
cnt++;
}
if (q.peek() < K) cnt = -1;
answer = cnt;
return answer;
}
}