90分 第四个点WA 求助
查看原帖
90分 第四个点WA 求助
914039
yukq11楼主2023/5/5 10:03
#include <iostream>
using namespace std;
const int maxn=5e4+100;
int a[maxn];
int l,n,m;
int k; 
bool judge(int d){
	int cnt = 0;
	if(a[0]>=d) cnt++;
	int last=a[0];
	for(int i = 1; i <= n; i++){
		if(a[i]-last>=d){
			cnt++;
			last=a[i];
		}
	}
	return cnt>=k;
}

int main(){
	cin>>l>>n>>m;
	for(int i = 0; i < n; i++){
		cin>>a[i];
	}
	k=n-m+1;
	a[n]=l;
	int left=0;
	int right=l;
	int mid;
	int res;
	while(left<=right){
		mid=(right-left)/2+left;
		if(judge(mid)){
			res=mid;
			left=mid+1;
		}else{
			right=mid-1;
		}
	}
	cout<<res;
	return 0;
} 
2023/5/5 10:03
加载中...