Subtask #1 WA了,求助
查看原帖
Subtask #1 WA了,求助
473443
vegetable_milk_loong楼主2023/8/23 13:04
#include<cstdio>
#include<cmath>
using namespace std;
#define ll long long
const int N=1e7+100;
ll a[N],l,n,k;

bool check(ll x){
	ll ans=0,lst=0;
	for(ll i=0;i<=l;i++){
		if(a[i]){
			if(i-lst>=x){
				ans+=ceil((i-lst)/(double)x)-1;
			}
			lst=i;
		}
	}
	return ans<=k;
}

int main(){
	scanf("%lld%lld%lld",&l,&n,&k);
	for(int i=1;i<=n;i++){
		ll pos;
		scanf("%lld",&pos);
		a[pos]=1;
	}
	ll st=0,ed=l;
	while(st<ed){
		ll mid=(st+ed)>>1;
	//	printf("%d\n",mid);
		if(check(mid))	ed=mid;
		else st=mid+1;
	}
	printf("%lld",st);
	return 0;
}
2023/8/23 13:04
加载中...