50分求调
查看原帖
50分求调
1184265
klxxwyx123楼主2024/6/30 12:53
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5;
int a[N+5];
int t,n,k;
bool check(int mid){
	int cnt=0;
	for(int i=1;i<=n;i++){
		cnt+=(a[i]-a[i-1]-1)/mid;
	}
	cnt+=(t-a[n]-1)/mid;
	return cnt<=k;
}
signed main(){
	cin>>t>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	sort(a+1,a+1+n);
	int l=1,r=t;
	while(l<r){
		int mid=(l+r+1)>>1;
		if(check(mid)){
			r=mid-1;
		}
		else l=mid+1;
	}
	cout<<l;
	return 0;
}
2024/6/30 12:53
加载中...