求调
  • 板块灌水区
  • 楼主111224tim
  • 当前回复3
  • 已保存回复3
  • 发布时间2024/7/20 11:02
  • 上次更新2024/7/20 12:19:50
查看原帖
求调
1080571
111224tim楼主2024/7/20 11:02
#include <bits/stdc++.h>
#include <cstdio>
using namespace std;
long long n, k;
long long a[100000005];
bool f(long long mid) {
	long long ans = 0;
	for (long long i = 1; i <= n; i++) {
		ans += a[i] / mid;
	}
	return ans >= k;
}

int main() {
	cin >> n >> k;
	for (int i = 1; i <= n; i++) cin >> a[i];
	sort(a+1,a+1+n);
	long long l = 0, r = a[n]-1;
	long long mid;
	
	while (l<=r) {
		mid = (l + r) / 2;
		if (f(mid))l = mid+1;
		else r = mid-1;
	}
	cout <<(int) l-1 << endl;
	return 0;
} 
2024/7/20 11:02
加载中...