Setting low to mid rather than mid plus one stalls, so a guard stops it.
Acceptance criteria
- 1.#out should show speed 4.
Setting low to mid rather than mid plus one stalls, so a guard stops it.
const piles = [3, 6, 7, 11]; const hours = (s) => piles.reduce((t, p) => t + Math.ceil(p / s), 0); let lo = 1, hi = Math.max(...piles), guard = 0; while (lo < hi && guard < 40) { const mid = (lo + hi) >>> 1; if (hours(mid) <= 8) hi = mid; else lo = mid; guard++; } document.querySelector('#out').textContent = "speed " + lo;
Output ready when you are
Press Run to render your code, or Submit to validate your solution.