P2678 [NOIP2015 提高组] 跳石头 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
d, n, m = map(int,input().split())data = [0]
for i in range(n):value = int(input())data.append(value)
data.append(d)def check(mid):now = 0cnt = 0for i in range(1,n+2):if abs(data[now]-data[i])<mid:cnt += 1else:now = iif cnt>m:return Falseelse:return Truel = 0
r = d
while l<r:mid = (l + r + 1) // 2if check(mid) :l = midelse:r = mid-1print(l)