社区讨论

有办法改lower_bound()吗T_T

P2440木材加工参与者 5已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@lwou8udc
此快照首次捕获于
2024/05/27 18:41
2 年前
此快照最后确认于
2024/06/12 12:48
2 年前
查看原帖
这道题有办法改lower_bound()吗T_T
蒟蒻的代码(这个已经AC了,但想改成lower_bound()来写):
CPP
#include <bits/stdc++.h>
using namespace std;
long long a[100000005]; 
long long n,k;
bool find(long long mid){
	long long ans=0;
	for(long long i=1;i<=n;i++){
		ans+=a[i]/mid;
	}return ans>=mid;
}
int main() {
	cin>>n>>k;
	for(long long i=1;i<=n;i++){
		cin>>a[i]; 
	}long long l=0,r=100000000,mid;
	while (l<=r){
		mid=(l+r)/2;
		if (find(mid)) l=mid;
		else r=mid;
	}cout<<l;
	return 0;
} 

回复

5 条回复,欢迎继续交流。

正在加载回复...