100分求条(玄关)
查看原帖
100分求条(玄关)
1495466
LINYUHENG2楼主2025/7/24 10:37
#include<bits/stdc++.h>
using namespace std;
int k,n,m,a[50005];
bool check(int x){
	int ans=0,st=0;
	for(int i=1;i<=n;i++){
		if(a[i]-st<x) ans++;
		else st=a[i];
	}
	return ans<=m;
}

int main(){
	scanf("%d%d%d",&k,&n,&m);
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	int l=1,r=k,mid;
	while(l<r){
		mid=l+(r-l)/2;
		if(check(mid)) l=mid+1;
		else r=mid-1;
	}
	if(!check(l)) l--;
	printf("%d",l);
	return 0;
}
2025/7/24 10:37
加载中...