Subtask #1过不了求调
查看原帖
Subtask #1过不了求调
1390795
Black_Jr楼主2025/1/5 13:25
#include<bits/stdc++.h>
using namespace std;
const int N=5e4+10;
long long d[N];
long long n,m,L;
bool check(long long mid){
	int cnt=0;
	long long last=0;
	for(long long i=1;i<=n;i++){
		if(d[i]-d[last]<mid){
			cnt++;
		}
		else{
			last=i;
		}
	}
	if(cnt>m){
		return false;
	}
	else{
		return true;
	}
}
int main(){
	cin>>L>>n>>m;
	for(long long i=1;i<=n;i++){
		cin>>d[i];
	}
	d[0]=0,d[n+1]=L;
	long long l=0,r=L,mid,ans;
	while(l<=r){
		mid=(r+l)/2;
		if(check(mid)){

			l=mid+1;
			ans=mid;
		}
		else{
			r=mid-1;
		}
	}
	cout<<ans;
	return 0;
}
2025/1/5 13:25
加载中...