15 lines
389 B
Python
15 lines
389 B
Python
def hours_needed(piles: list[int], k: int) -> int:
|
|
return sum(-(-p // k) for p in piles)
|
|
|
|
|
|
class Solution:
|
|
def minEatingSpeed(self, piles: list[int], h: int) -> int:
|
|
lo, hi = 1, max(piles)
|
|
while lo < hi:
|
|
k = (lo + hi) // 2
|
|
if hours_needed(piles, k) <= h:
|
|
hi = k
|
|
else:
|
|
lo = k + 1
|
|
return lo
|