[BOJ-27932] 어께동무

ParkJunHa·2024년 2월 16일

BOJ

목록 보기
84/85

코드

from bisect import bisect_left

n, m = map(int, input().split())
if n in [1, m]:
    print(0)
    exit()

g = list(map(int, input().split()))
dist = sorted([abs(g[1] - g[0])] + 
              [max(abs(g[i] - g[i-1]), abs(g[i] - g[i+1])) for i in range(1, n-1)] + 
              [abs(g[n-2] - g[n-1])])

print(dist[n-m-1])

회고

  • 이분탐색으로 풀이가 가능한듯하다.
  • 반례상황이 많아서 고생했다.
  • 찾아봐도 정답 코드가 안나와서 비교를 위해 자바 코드를 바꿔봤다.
profile
PS린이

0개의 댓글