Build the PrimitiveMedium
Koko Eating Bananas
Write `min_eating_speed(piles, h)` returning the smallest integer speed `k` such that eating `k` bananas per hour finishes every pile within `h` hours. A pile takes `ceil(pile / k)` hours and a partial hour is still an hour.
min_eating_speed([3, 6, 7, 11], 8) -> 4
The input is not sorted and sorting it would not help — the thing you binary search is the *speed*, over `[1, max(piles)]`. It works because "can finish at speed k" is monotonic: true at some k, true at every larger one. Name that property; it is the reason the technique applies.
What to expect: A timer starts when you begin. Edit the starter code, run it against the test suite as many times as you like, then finish when you're done. The reference solution and interviewer follow-up questions unlock only after you finish.