谁能告诉我为啥改成>=k就对了
查看原帖
谁能告诉我为啥改成>=k就对了
754022
qleizhengye2022楼主2024/7/31 19:54
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,a[100000+5];
ll f(ll x)
{
	ll cnt=0;
	for(ll i=1;i<=n;i++)
		cnt+=a[i]/x;
	return cnt;
} 
int main()
{
	cin>>n>>m;
	ll maxn=0;
	for(ll i=1;i<=n;i++)
	{
		cin>>a[i];
		maxn=max(maxn,a[i]);
	}
	ll l=1,r=maxn;
	while(l<=r)
	{
		ll mid=(l+r)/2;//mid每段长几cm 
		if(f(mid)>=m) l=mid+1;//问题在这
		else r=mid-1;
	}
	cout<<r;
    return 0;
}

2024/7/31 19:54
加载中...