For Programmer

백준 13702번 파이썬 문제풀이(이상한 술집) - 이분탐색 본문

코팅테스트/백준 문제 모음

백준 13702번 파이썬 문제풀이(이상한 술집) - 이분탐색

유지광이 2022. 3. 30. 22:10
728x90


well-known 이분탐색문제이다. 그냥 전체 범위에서 반씩 줄여나가면서 검사하면 된다.

 

import sys

input = sys.stdin.readline

N, K = map(int, input().split())
mak = [int(input()) for _ in range(N)]

s = 1
e = max(mak)


def check(mid):

    total = 0
    for i in mak:
        total += (i // mid)

    return K <= total
ans = 0

while s <= e:

    mid = (s + e) // 2

    if check(mid):
        ans = mid
        s = mid + 1
    else:
        e = mid - 1

print(ans)
728x90
Comments