2
* @param {number[][]} boxes3
* @param {number} portsCount4
* @param {number} maxBoxes5
* @param {number} maxWeight8
var boxDelivering = function (boxes, portsCount, maxBoxes, maxWeight) {9
const trips = Array(boxes.length + 1).fill(0);13
for (let right = 0; right < boxes.length; right++) {15
maxWeight -= boxes[right][1];16
if (right > 0 && boxes[right][0] !== boxes[right - 1][0]) diff++;21
(left < right && trips[left + 1] === trips[left])24
maxWeight += boxes[left++][1];25
if (boxes[left][0] !== boxes[left - 1][0]) diff--;28
trips[right + 1] = diff + 2 + trips[left];31
return trips[boxes.length];