简单易懂的题解
2024-02-06 18:49:26
发布于:广东
5阅读
0回复
0点赞
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
int a[1000005];
long long A(int x,int n) {
long long sum=0;
for (int i=1;i<=n;i++) {
sum+=a[i]/x;
}
return sum;
}
int main() {
int n,m,ma=0,ans=0;
scanf("%d %d",&n,&m);
for (int i=1;i<=n;i++) {
scanf("%d",&a[i]);
ma=max(a[i],ma);
}
int l=1,r=ma;
while (l<=r) {
int mid=(l+r)/2;
if (A(mid,n)>=m) {
ans=mid;
l=mid+1;
}else{
r=mid-1;
}
}
printf("%d",ans);
return 0;
}
这里空空如也
有帮助,赞一个