1var minimumRefill = function (plants, capacityA, capacityB) {2const n = plants.length;34let left = 0;5let right = n - 1;67let remA = capacityA;8let remB = capacityB;910let refills = 0;1112while (left < right) {13const leftAmount = plants[left++];14const rightAmount = plants[right--];1516if (leftAmount > remA) {17++refills;18remA = capacityA;19}20remA -= leftAmount;2122if (rightAmount > remB) {23++refills;24remB = capacityB;25}26remB -= rightAmount;27}2829if (left === right) {30const midAmount = plants[left];3132if (remB > remA) {33if (remB < midAmount) ++refills;34} else {35if (remA < midAmount) ++refills;36}37}3839return refills;40};