Y • 5天前
using namespace std;
int n,m,d,a[1000005]; bool check(int x){
int prev=0;
int cnt=0;
for(int i=1;i<=n;i++){
if(a[i]-a[prev]<x){
cnt++;
if(cnt>m){
return false;
}
}
else prev=i;
}
return true;
} int main() {
cin>>d>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
a[0] = 0,a[n+1] = d;
sort(a+1,a+n+1);
int l=0,r=d;
while(l<r){
int mid=l+r+1>>1;
if(check(mid))l=mid;
else r=mid-1;
}
cout<<l;
return 0;
}
评论:
请先登录,才能进行评论