第四个点为么错了?
查看原帖
第四个点为么错了?
495993
ningmengcha楼主2021/8/12 21:06
#include<iostream>
using namespace std;
int n,m;
int a[10000005];
bool ef(long long x){
	long long int sum=0;
	for(int i=1;i<=n;i++){
		sum+=a[i]/x;
	}
	return sum>=m;
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	long long low =1,high=100000000;
	while(low+1<high){
		long long mid =(low+high)/2;
		if(ef(mid)){
			low=mid;
		}
		else{
			high=mid;
		}
	}
	cout<<low;
	return 0;
 } 
2021/8/12 21:06
加载中...