class Solution:

    def minimumTime(self, time: List[int], totalTrips: int) -> int:

        lo = 0

        hi = 1000000000000000

        while lo + 1 < hi:

            mid = (lo + hi)>>1

            val = sum([mid//t for t in time])

            if val >= totalTrips:

                hi = mid

            else:

                lo = mid

        return hi


간단한 이분탐색 문제인데 이분탐색 upper bound를 어떻게 잡을지 고민 좀 한 듯

10^14는 필요하구나