求助!!!
查看原帖
求助!!!
1025109
ggpw_XNW楼主2023/11/5 10:15

加强过了,其他没过

#include<iostream>
#include<cmath>
using namespace std;
int a[10005] , n , l , k , r , mid;
bool judge(int ans){
	int k2 = 0;
	for(int i=1;i<=n;i++){
		if(a[i]-a[i-1]>=ans){k2++;}
	}
	return k2 <= k;
}
int main(){
	cin >> l >> n >> k;
	for(int i=1;i<=n;i++){
		cin >> a[i];
	}
	r = l , l = 0;
	if(n==2){
		if(r%2){cout << (l + r) / 2 + 1;}
		else{cout << (l + r) / 2;}
		return 0;
	}
	while(l+1<r){
		mid = (l + r) / 2;
		if(judge(mid)){
			l = mid;
		}else{
			r = mid;
		}
	}
	cout << l;
	return 0;
}
2023/11/5 10:15
加载中...