调用java自带的优先队列解题

import java.util.Scanner;
import java.util.PriorityQueue;

public class Main {
    public static void main(String[] args) {
        PriorityQueue<Integer> minPQ = new PriorityQueue<>();
        int n, k;
        Scanner in = new Scanner(System.in);
        n = in.nextInt();
        k = in.nextInt();
        for (int i = 1; i <= n; i++) {
            minPQ.add(in.nextInt());
        }
        int degree = 0;
        int day = 0;
        while (degree < k) {
            int min = minPQ.poll();
            degree += min;
            minPQ.add(min * 2);
            day++;
        }
        day--;//由于多加了一天,要减回去
        System.out.println(day);
    }
}