1
class Worker implements Comparable<Worker> {4
public Worker(int q, int w) {10
public int compareTo(Worker other) {11
return Integer.compare(w * other.q, q * other.w);16
public double mincostToHireWorkers(int[] quality, int[] wage, int k) {17
int n = quality.length;18
Worker[] a = new Worker[n];19
for (int i = 0; i < n; ++i) {20
a[i] = new Worker(quality[i], wage[i]);25
PriorityQueue<Integer> q = new PriorityQueue<>();26
for (Worker worker : a) {29
if (q.size() > k) s += q.poll();30
if (q.size() == k) res = Math.min(res, (double) s * worker.w / worker.q);