Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[백준] 1477 휴게소 세우기 [Python, 파이썬] 본문
- 문제 : https://www.acmicpc.net/problem/1477
- 이분탐색
n, m, l = map(int, input().split())
li = list(map(int, input().split()))
li.append(0) # 처음
li.append(l) # 끝
li.sort()
dist = [] # 휴게소 사이의 거리를 담을 배열
for i in range(1, len(li)):
dist.append(li[i]-li[i-1]-1) # 시작이 1부터라서 거리 구하고 1을 뺀다
dist.sort()
l, r = 1, l
answer = 1001
while l <= r: # 이분탐색
mid = (l + r) // 2
cnt = 0
for i in dist:
cnt += i // mid # 거리들을 mid값으로 나눈 몫을 카운트
if cnt > m: # 개수가 많으면
l = mid + 1 # 크기를 늘린다.
else:
answer = min(answer, mid) # 가능한 값 중 최소값으로 업데이트
r = mid - 1 # 개수가 적으면 크기를 줄인다.
print(answer)'백준' 카테고리의 다른 글
| [백준] 17202 핸드폰 번호 궁합 [Python, 파이썬] (0) | 2023.09.11 |
|---|---|
| [백준] 24416 알고리즘 수업 - 피보나치 수 1 [Python, 파이썬] (0) | 2023.09.11 |
| [백준] 9205번 맥주 마시면서 걸어가기 [Python, 파이썬] (0) | 2023.09.05 |
| [백준] 1111번 IQ Test [Python, 파이썬] (0) | 2023.09.04 |
| [백준] 13305번 주유소 [Python] (0) | 2023.08.04 |
Comments