10分求调,调必关
查看原帖
10分求调,调必关
1781967
LouisYuan楼主2025/8/2 14:30

为啥有错?

#include<iostream>
using namespace std;
const int N=5e4+5;
int length,number,move,rocks[N];

bool check(int x){
	int cnt=0;
	for(int i=1;i<=number;i++){
		if(rocks[i]-rocks[i-1]<x){
			cnt++;
		}
	}
	if(cnt<=move){
		return true;
	}else{
		return false;
	}
}

int Binary_Search(){
	int l=1,r=N,mid;
	while(l<=r){
		mid=l+(r-l)/2;
		if(check(mid)){
			l=mid+1;
		}else{
			r=mid-1;
		}
	}
	return r;
} 

int main(){
	cin>>length>>number>>move;
	for(int i=1;i<=number;i++){
	    cin>>rocks[i];
	}
	int ans=Binary_Search();
	cout<<ans;
	return 0;
}
2025/8/2 14:30
加载中...