1RE
查看原帖
1RE
975630
woyaoAKIOI0924PTY楼主2024/7/17 14:44
#include<bits/stdc++.h>
using namespace std;
#define int long long
int a[1000005],n,m,maxi=-1e10;
int kan(int x)
{
	int sum=0;
	for(int i=1;i<=n;++i)
		if(a[i]>x)
			sum+=a[i]/x;
	return sum>=m;
}
signed main()
{
	cin>>n>>m;
	for(int i=1;i<=n;++i)
	{
		cin>>a[i];
		maxi=max(maxi,a[i]);
	}
	int lt=0-1,rt=maxi+1;
	while(lt+1<rt)
	{
		int mid=(rt+lt)/2;
		if(kan(mid)==1) 
			lt=mid;
		else
			rt=mid;
	}
	cout<<lt;
	return 0;
}
2024/7/17 14:44
加载中...