求助!
查看原帖
求助!
734982
bobi0577楼主2022/8/5 16:48
#include<bits/stdc++.h>
using namespace std;
int l,n,m,a[100005],ans;
bool check(int d){
	int x=0;
	for(int i=2;i<=n;i++)x+=ceil(double(a[i]-a[i-1])/m)-1;
	return x<=m;
}
int main(){
	cin>>l>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int L=0,R=l;L<=R;){
		int mid=(L+R)>>1;
		if(check(mid))ans=mid,R=mid-1;
		else L=mid+1;
	}
	cout<<ans;
}
2022/8/5 16:48
加载中...