设定一个最短跳跃距离,然后移动石头以达到该距离,如果移动次数大于给定次数,说明距离过大,反之距离过小。
distance,num,time=map(int,input().split())
jump=[0]*50000
for i in range(num):
jump[i]=int(input())
l=0
r=distance
ans=0
while(l<=r):
mid=int((l+r)/2)
now=0
sum=0
for i in range(1,num+1):
if(jump[i]-jump[now])<mid:
sum+=1
else:
now=i
if sum<=time:
ans=mid
l=mid+1
else:
r=mid-1
print(ans)