有办法改lower_bound()吗T_T
查看原帖
有办法改lower_bound()吗T_T
1199726
_yz_mm_楼主2024/5/27 18:39

这道题有办法改lower_bound()吗T_T

蒟蒻的代码(这个已经AC了,但想改成lower_bound()来写):

#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;
} 
2024/5/27 18:39
加载中...