大佬帮忙看看是哪错了吧,调不出来(40分蒟蒻)
#include<bits/stdc++.h>
using namespace std;
int ll,n,m,js = 0,bk = 0,now = 0;
int sto[50005];
int head = 1,tail;
void find(int l,int r)
{
js = 0;
now = 0;
int mid = (r + l) >> 1;
for(int i = 1;i <= n + 1;i ++)
{
if((sto[i] - sto[now]) < mid)
js ++;
else
now = i;
}
if(js > m) find(l,mid - 1);
if(bk == 1)return;
if(js < m) find(mid + 1,r);
if(bk == 1)return;
else
{
cout<<mid<<endl;
bk = 1;
return;
}
}
int main()
{
cin>>ll>>n>>m;
if(n == 0)
{
cout<<ll<<endl;
return 0;
}
sto[n + 1] = ll;
for(int i = 1;i <= n;i ++)
cin>>sto[i];
find(1,ll);
return 0;
}