#include<bits/stdc++.h>
using namespace std;
long long n,m,d;
int a[500005],ans;
int tiao(int x)
{
int tot=0,num=0,now=0;
while(num<n+1)
{
num++;
if(a[num]-a[now]<x)
{
tot++;
}
else
{
now=num;
}
}
if(tot>m) return 0;
return 1;
}
int main()
{
cin>>d>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
a[n+1]=d;
int l=1;int r=d;
while(l<=r)
{
int mid=(l+r)/2;
if(tiao(mid)==1)
{
ans=mid;
l=mid+1;
}
else r=mid-1;
}
cout<<ans;
}
为什么l=mid+1,r=mid-1,如果不减的话为啥会T掉