版权声明:转载请注明出处 https://blog.csdn.net/TY_GYY/article/details/83342100
import java.util.*;
public class Main{
Scanner scan=new Scanner(System.in);
int l,n,m;
int[] s=new int [50010];
public Main() {
super();
input();
js();
}
public void input() {
l=scan.nextInt();
n=scan.nextInt();
m=scan.nextInt();
s[0]=0;
for (int i = 1; i <= n; i++) {
s[i]=scan.nextInt();
}
s[n+1]=l;
}
public void js() {
Arrays.sort(s,0,n+2);
int L=0,R=l ;
while(L<=R) {
int mid=L+(R-L)/2, i=0,p=0;
while(i<=n) {
int j=i+1;
while(j<=n+1&&s[j]-s[i]<mid)
j++;
p+=j-i-1;
i=j;
}
if(p<=m) {
L=mid+1;
}
else{
R=mid-1;
}
}
System.out.println(L-1);
}
public static void main(String[] args) {
new Main();
}
}