题解
2024-08-05 13:45:08
发布于:浙江
5阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,k,a[100010],max=0;
cin>>n>>k;
for (int i=1;i<=n;i++){
cin>>a[i];
if (a[i]>max){
max=a[i];
}
}
int l=1,r=max,ans=0;
while (l<=r){
int mid=(l+r)/2;
int s=0;
for (int i=1;i<=n;i++){
s=s+a[i]/mid;
}
if (s>=k){
ans=mid;
l=mid+1;
}else r=mid-1;
}
cout<<ans;
return 0;
}
这里空空如也
有帮助,赞一个