728x90
반응형
https://www.acmicpc.net/problem/1477
1477번: 휴게소 세우기
첫째 줄에 현재 휴게소의 개수 N, 더 지으려고 하는 휴게소의 개수 M, 고속도로의 길이 L이 주어진다. 둘째 줄에 현재 휴게소의 위치가 공백을 사이에 두고 주어진다.
www.acmicpc.net
문제 해결
- 전형적인 휴개소를 짓고 난 후의 휴게소가 없는 구간의 최댓값의 최솟값을 이분탐색으로 찾는 문제
- 길이를 조절해가며 대입했을 때 알맞은 길이를 찾는 문제이다.
CODE
n,m,l = map(int, input().split())
A = [0]+list(map(int, input().split()))+[l]
A.sort()
start = 1
end = l-1
answer = 0
while start <= end:
cnt = 0
mid = (start+end)//2
for i in range(1,len(A)):
if A[i] - A[i-1] > mid:
cnt += (A[i]-A[i-1]-1)//mid
if cnt >m:
start = mid + 1
else:
end = mid -1
answer = mid
print(answer)
728x90
반응형
'알고리즘 > [python] 백준 BOJ' 카테고리의 다른 글
[python] 백준 6593 상범 빌딩 (0) | 2023.04.26 |
---|---|
[python] 백준 17471 게리맨더링 (0) | 2023.04.26 |
[python] 백준 7453 합이 0인 네 정수 (0) | 2023.04.25 |
[python] 백준 2473 세 용액 (0) | 2023.04.24 |
[python] 백준 1727 커플 만들기 (0) | 2023.04.24 |
댓글