728x90
반응형
기본적인 이분 탐색 문제이다.
def bs(li, m):
if li[1]-li[0] > m:
return 0
if li[-1]-li[-2] > m:
return 0
for i in range(1, len(li)-2):
if (li[i+1]-li[i])/2 > m:
return 0
return 1
N, M = int(input()), int(input())
li = [0] + list(map(int, input().split())) + [N]
s, e = 0, N
res = 0
while s <= e:
m = (s+e)//2
if bs(li, m):
e = m-1
res = m
else:
s = m+1
print(res)
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 6229번 Bronze Lilypad Pond(python) (0) | 2021.03.18 |
---|---|
백준 알고리즘 6004번 The Chivalrous Cow(python) (0) | 2021.03.18 |
백준 알고리즘 17219번 비밀번호 찾기(python) (0) | 2021.03.18 |
백준 알고리즘 11727번 2×n 타일링 2(python) (0) | 2021.03.18 |
백준 알고리즘 11726번 2×n 타일링(python) (0) | 2021.03.18 |