求调
查看原帖
求调
820097
he_lucky楼主2025/1/14 10:12
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
long long n,m,ma = -1,a[N],k;
int check(int x){
	int sum = 0;
	for (int i = 1;i <= n;i++){
		sum += a[i] / x;
	}
	return sum >= k;
}
int main(){
	cin >> n >> k;
	for (int i = 1;i <= n;i++){
		cin >> a[i];
		ma = max(ma,a[i]);
	}
	long long l = 0,r = ma,mid;
	while (l <= r){
		mid = l + r >> 1;
		if (check(mid))l= mid + 1;
		else r = mid - 1;
	}
	cout << l -1<<endl;
	return 0;
}
2025/1/14 10:12
加载中...