emmm虽然没过hack,其他都过了
就改了两个小点,不改就全wa,改了才对
思路和题解差不多...我是算的相反的情况,就是满足情况就+1,多于路标数返回true,求助为啥这样改能基本全对呢
#include <bits/stdc++.h>
using namespace std;
long long ll,n,k,w,a[10000001];
bool p(long long d){
int y=0,b=0;
for(int i=1;i<n;i++){
if(a[i]-b>d){
b=b+d;
i--;
y++;
}
else{
b=a[i];
}
}
return y>k;
}
int main(){
cin>>ll>>n>>k;
for(int i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);
long long l=0,r=ll,mid,ans;
while(l<=r){
mid=l+(r-l)/2;
if(p(mid))
l=mid+1;
else
ans=mid,r=mid-1;
}
cout<<ans;
return 0;
}