社区讨论

有办法改lower_bound()吗 T_T

灌水区参与者 4已保存回复 3

讨论操作

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

当前回复
3 条
当前快照
1 份
快照标识符
@lwouin7e
此快照首次捕获于
2024/05/27 18:48
2 年前
此快照最后确认于
2024/05/27 21:23
2 年前
查看原帖
P2440这道题有办法改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;
} 

回复

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

正在加载回复...