본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬] 15810번 풍선 공장

by 현장 2022. 5. 20.

-Code

n, m = map(int, input().split())
li = list(map(int, input().split()))
left, right = 0, max(li) * m

while left <= right:
    mid = (left + right) // 2
    cnt = sum(mid // i for i in li)

    if cnt >= m:
        right = mid - 1
    else:
        left = mid + 1
print(left)

left, right 범위를 0, 1000000으로 했으나  틀려서 이유가 뭔지 찾아보니 범위 문제였습니다.