0分,求助,附点tle 2分
查看原帖
0分,求助,附点tle 2分
964721
syDuck楼主2023/8/14 18:26
#include<algorithm>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<map>
#include<vector>
using namespace std;
int i,n,k,l,t,w,mid,bao,a[100010],f[100010];
bool pd(int x){
	int ans=0;
	for(i=1;i<=n+1;i++){
		int h=a[i];
		while(h>x) h-=x,ans++;
	}
	if(ans<=k) return true;
	else return false;
}
int main(){
	scanf("%d%d%d",&l,&n,&k);
	for(i=1;i<=n;i++) scanf("%d",&a[i]),f[i]=a[i]-a[i-1];
	a[n+1]=l-a[n];
	t=0;w=1e8;
	while(t<=w){
		mid=(t+w)/2;
		if(pd(mid)) w=mid-1,bao=mid;
		else t=mid+1;
	}
	printf("%d",bao);
	return 0;
}
2023/8/14 18:26
加载中...