[Algorithm] 이진 탐색 문제 - 2110 공유기 설치,

Jifrozen·2021년 7월 29일
1

Algorithm

목록 보기
33/70

2110 공유기설치

# https://www.acmicpc.net/problem/2110
n, c = map(int, input().split())

data = [int(input()) for _ in range(n)]
data.sort()
start = 1
end = data[-1] - data[0]
result = 0
while start <= end:
    mid = (start + end) // 2
    a = data[0]
    count = 1

    for i in range(1, len(data)):
        if data[i] >= a + mid:
            count += 1
            a = data[i]

    if count >= c:
        start = mid + 1
        result = mid
    else:
        end = mid - 1

print(result)

이진탐색 나랑 안맞는다.
왜 a+mid를 더해서 비교해주는지 이해가 안간다....

가사검색

꼬인 전깃줄

1개의 댓글

comment-user-thumbnail
2021년 7월 29일

안녕하세요, 김덕우입니다! 저도 복습 시간에 공유기 설치 다시 보려고요... 이진 탐색 어렵죠 수고하셨어요!!!!

답글 달기