l,n,k=list(map(int,input().split()))
p=sorted(list(map(int,input().split())))
pd=[]
for i1 in range(1,n):
pd.append(p[i1]-p[i1-1])
ans=[1,max(pd)+1]
while ans[1]-ans[0]!=1:
anst=sum(ans)//2
ct=0
for i1 in pd:
ct+=(i1-1)//anst
if ct>k:
ans[0]=anst
else:
ans[1]=anst
print(ans[1])