Skip to content

Instantly share code, notes, and snippets.

@mym0404
Created June 6, 2022 15:22
Show Gist options
  • Save mym0404/e3c9d3c65975d1813b9a9e5971d5ce7b to your computer and use it in GitHub Desktop.
Save mym0404/e3c9d3c65975d1813b9a9e5971d5ce7b to your computer and use it in GitHub Desktop.
N, C = map(int, input().split())
Pos = [int(input()) for _ in range(N)]
Pos.sort()
left, right = 1, 10 ** 9
answer = -1
while left <= right:
mid = (left + right) // 2
setting = 1
last_set_pos = Pos[0]
for i in range(1, N):
if Pos[i] - last_set_pos >= mid:
last_set_pos = Pos[i]
setting += 1
if setting >= C:
answer = mid
left = mid + 1
else:
right = mid - 1
print(answer)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment