呵呵呵
查看原帖
呵呵呵
1019953
LZH118楼主2024/4/13 16:24
c
#include<bits/stdc++.h>
using namespace std;
int s[100005];
int L,N,K;
bool check(int x){
	long long y=K;
	long long d=0;
	for(int i=1;i<N;i++){	
		if(s[i]-d<=x){
			d=s[i];
		}else{
			d=d+x;
			i--;
			y--;
		}
    if(y<0){
			break;
		}
	}
	if(y>=0){
		return true;
	}else{
		return false;
	}
}
int main(){
	cin>>L>>N>>K;
	int t=0;
	while(t<N){
		cin>>s[t];
		t++;
	}
	int l=0,r=L;
	int ans;
	while(l<=r){
		int mid=l+(r-l)/2;
		if(check(mid)){
			ans=mid;
			r=mid-1;
		}else{
			l=mid+1;
		}
	}
	cout<<ans;
	return 0;
}
2024/4/13 16:24
加载中...