#include <string>
#include <vector>
#include <queue>
#include <iostream>
using namespace std;
int solution(vector<int> scoville, int K) {
priority_queue<int,vector<int>,greater<int>> pq_less(scoville.begin(),scoville.end());
int cnt = 0;
while(pq_less.size()>1&&pq_less.top()<K){
int min = pq_less.top();
pq_less.pop();
int second_min = pq_less.top();
pq_less.pop();
pq_less.push(min + 2 * second_min);
cnt++;
}
if(pq_less.top()>=K)
return cnt;
return -1;
}