有办法改lower_bound()吗 T_T
  • 板块灌水区
  • 楼主_yz_mm_
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/5/27 18:48
  • 上次更新2024/5/27 21:23:36
查看原帖
有办法改lower_bound()吗 T_T
1199726
_yz_mm_楼主2024/5/27 18:48

P2440这道题有办法改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:48
加载中...