#include<bits/stdc++.h> using namespace std; long long l,n,m,xx,a[50005]; bool check(int nsb){ int s=0,t=0; for(int i=1;i<=n;++i) if(a[i]-a[t]<nsb)s++;else t=i; if(s>m)return 0; return 1; } int main(){ scanf("%d%d%d",&l,&n,&m); int x=1,y=l; for(int i=1;i<=n;++i)scanf("%d",a+i); while(x<=y){ int mid=(x+y)/2; if(check(mid)){ xx=mid;x=mid+1; } else y=mid-1; } printf("%d",xx); } /************************************************************** Problem: 2345 User: admin Language: C++ Result: Accepted Time:129 ms Memory:2468 kb ****************************************************************/