76分 ,蒟蒻求助!!!
查看原帖
76分 ,蒟蒻求助!!!
1255488
__notTrueLight__楼主2024/5/18 19:32

#1,#3 WA

代码如下:

#include<bits/stdc++.h>
using namespace std;

long long erf_find(long long lis[],long long len,long long find){//二分查找 
	long long l=0,r=1e9;//定义两个极端 
	long long mid,cnt=0;//定义中指针,计数 
	while(l+1<r){//查找 
		mid=(l+r)>>1;
		cnt=0;
		for(long long i=0;i<=len;i++){//记录木头段数 
			cnt+=lis[i]/mid;
		}
		if(cnt<find)r=mid;//少,则减短 
		else l=mid;//多,则增长 
	}
	
	return l; 
}

int main(){
	int n,k;//定义 
	cin>>n>>k;//输入 
	long long nlis[n];//定义 
	for(long long i=0;i<n;i++){
		cin>>nlis[i];//输入 
	}
	long long res=erf_find(nlis,n,k);//输入 
	cout<<res;//输出 

	return/*191981*/0;
}
2024/5/18 19:32
加载中...