100分,但是最后一个点WA,求助
查看原帖
100分,但是最后一个点WA,求助
602632
_7Mr楼主2023/4/14 18:18
#include<bits/stdc++.h>
using namespace std;
long long L,N,M,d[50005],ans;
bool check(long long mid) {
	int temp=0,now=0;
	for(int i=1; i<=N; i++)
		if(d[i]-d[now]<mid)  temp++;
		else now=i;
	if(temp>M)  return false;
	return true;
}
int main() {
	cin>>L>>N>>M;
	for(int i=1; i<=N; i++)  cin>>d[i];=
	int l=0,r=L;
	while(l<=r) {
		long long mid=(l+r)>>1;
		if(check(mid))  ans=mid,l=mid+1;
		else r=mid-1;
	}
	cout<<ans<<endl;
	return 0;
}
2023/4/14 18:18
加载中...