以下是代码
#include<bits/stdc++.h>
using namespace std;
int len,n,m,ans,a[50010];
int work(int l,int r)
{
if(r-l<=1)
{
return l;
}
int mid=l+(r-l)/2,num=0,flag=0;
int k=0;
for(int i=1;i<=n;i++)
{
int dis=a[i]-k;
if(dis>=mid)
{
k=a[i];
}
else
{
num++;
if(num>m)
{
flag=1;
break;
}
}
}
if(flag)
{
work(l,mid);
}
else
{
work(mid,r);
}
}
int main()
{
cin>>len>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
cout<<work(1,len+1);
return 0;
}