1
var eatenApples = function (apples, days) {2
const heap = new MinPriorityQueue({ priority: (x) => x[0] });5
for (let i = 0; i < apples.length; i++) {6
heap.enqueue([i + days[i], apples[i]]);8
while (!heap.isEmpty()) {9
const [expire, count] = heap.front().element;10
if (!count || expire <= i) heap.dequeue();14
if (heap.isEmpty()) continue;16
heap.front().element[1]--;19
let i = apples.length;21
while (!heap.isEmpty()) {22
const [expire, count] = heap.dequeue().element;23
if (!count || expire <= i) continue;24
totalApple += Math.min(count, expire - i);25
i = Math.min(expire, i + count);