题解,易复制
2026-07-30 14:51:40
发布于:广东
28阅读
0回复
0点赞
这道题用了二分和枚举的方式
#include<bits/stdc++.h>
using namespace std;
int a[100010];
int main(){
int n,k,mx=0;
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
mx=max(a[i],mx);
}
int ans;
int l=1,r=mx;
while(l<=r){
int sum=0;
int mid=(l+r)/2;
for(int j=1;j<=n;j++){
sum+=a[j]/mid;
}
if(sum>=k){
ans=mid;
l=mid+1;
}
else{
r=mid-1;
}
}cout<<ans;
return 0;
}
这个就是整道题的代码,天天开心!
这里空空如也








有帮助,赞一个