Skip to content

Commit 6d7a8ea

Browse files
committed
[BOJ] #2110. 공유기 설치 / 골드4 / 실패
1 parent bfd963e commit 6d7a8ea

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import sys
2+
input = sys.stdin.readline
3+
4+
N, C = map(int, input().split()) # N: 집 개수, C: 공유기 개수
5+
houses = [int(input()) for _ in range(N)] # 집 좌표 리스트
6+
houses.sort()
7+
8+
left = 1 # 최소 거리
9+
right = houses[N-1] - houses[0]
10+
result = 0
11+
12+
while left <= right:
13+
mid = (left + right) // 2 # 현재 설정된 거리
14+
cnt = 1 # 공유기 최소 1대
15+
check = houses[0]
16+
17+
for i in range(N):
18+
if houses[i] - check >= mid: # 현재 설정된 거리 이상이면 공유기 개수 늘리기
19+
cnt += 1
20+
check = houses[i]
21+
if cnt >= C: # 공유기 설치 수가 C 이상이면, 공유기간 거리 늘리기
22+
left = mid + 1
23+
result = max(result, mid)
24+
else: # 공유기 설치 수가 C보다 미만이면, 공유기간 거리 줄이기
25+
right = mid - 1
26+
27+
print(result)

0 commit comments

Comments
 (0)