0
已解决
包涵宇
中级天翼
中级天翼
问问!!!
#include<bits/stdc++.h>
using namespace std;
long long L,n,m,a[50005];
int main(){
cin>>L>>n>>m;
int r=a[n+1]=L,l=0;
for(int i=1;i<=n;i++)cin>>a[i];
while(l<r){
long long mid=(r+l+1)/2,left=0,t=0;
for(int i=1;i<=n+1;i++){
if(a[i]-a[left]<=mid)t++;
else left=i;
}
if(t<=m)l=mid;
else r=mid-1;
}
cout<<l;
return 0;
}
为什么输出3???