小码王集训营标准答案
2025-07-26 11:06:42
发布于:浙江
1阅读
0回复
0点赞
#include<stdio.h>
#define Main signed
#define int long long
#define inf 1e8
#define N 200005
#define input scanf
#define print printf
#define dbitg "%lld%lld"
int n,k;
int a[N];
int check(int x){
int cnt=0;
for (int i=0;i<=n;i++) cnt+=a[i]/x;
return cnt>=k;
}
Main main(){
input(dbitg,&n,&k);
for (int i=1;i<=n;i++) input("%lld",&a[i]);
int l=1,r=inf;
while(l+1<r){
int mid=(l+r)/2;
if (check(mid)) l=mid;
else r=mid;
}
if (check(r)) print("%lld",r);
else if (check(l)) print("%lld",l);
else puts("0");
return 0;
}
这里空空如也
有帮助,赞一个