#include<bits/stdc++.h>
using namespace std;
using ll=long long;
int l,n,k,ans;
vector<int>v;
bool check(int mid){
int count=0;
int current=0,next=1;
while(next<n){
if(v[next]-current>mid) count++,current+=mid;
else current=v[next],next++;
}
return count<=k;
}
void solve(){
int l=0,r=*max_element(v.begin(),v.end())-*min_element(v.begin(),v.end()),mid;
while(l<=r){
mid=l+r>>1;
if(check(mid)) ans=mid,r=mid-1;
else l=mid+1;
}
cout<<ans<<endl;
}
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>l>>n>>k;
v.resize(n);
for(int i=0;i<n;i++) cin>>v[i];
sort(v.begin(),v.end());
solve();
return 0;
}