求调--必关
查看原帖
求调--必关
1270926
wawatime1楼主2024/10/8 17:44
#include <bits/stdc++.h>
using namespace std;
int n, k;
int a[100001];
int calc (int x){
	int s = 0;
	for (int i = 1; i <= n; i++)
		s += a[i] / x;
	if (s >= k)
		return 1;
	return 0;
}
int t;
int m;
int ans;
int main (){
	scanf ("%d%d", &n, &k);
	for (int i = 1; i <= n; i++){
		scanf ("%d", &a[i]);
		t += a[i];
		m = max(m, a[i]);
	}
	if (t < k){
		printf ("0");
		return 0;
	}
	int l = 1, r = t;
	while (l <= r){
		int mid = (l + r) / 2;
		if (calc(mid)){
			l = mid + 1;
			ans = mid;
		}
		else
			r = mid - 1;
	}
	printf ("%d", ans);
	return 0;
}
2024/10/8 17:44
加载中...