求助大佬(随机没过)qwq
查看原帖
求助大佬(随机没过)qwq
1047861
hzx3222010楼主2023/8/10 15:09
#include<bits/stdc++.h>
using namespace std;
int l,n,m,d[500500];
bool check(long long mid){
	int bj=0,now=0;
	for(int i=1;i<=n;i++){
		if(d[i]-d[now]<mid)  bj++;
	    else now=i;
	}
	if(bj>m)  return false;
	return true;
}
int main(){
	int ans;
	cin>>l>>n>>m;
	for(int i=1;i<=n;i++) cin>>d[i];
	int ll=0,r=l;
	while(ll<=r){
		int mid=(ll+r)/2;
		if(check(mid)) ans=mid,ll=mid+1;
		else r=mid-1;
	}
	cout<<ans<<endl;
	return 0;
}
2023/8/10 15:09
加载中...