#include<bits/stdc++.h>
#define LL long long
using namespace std;
const int maxn=1e5+5;
LL len[maxn],n,k;
bool f(LL p){
LL tot=0;
for(LL i=1;i<=n;i++){
tot+=len[i]/p;
if(tot>=k) return true;
}
return false;
}
LL find(LL l,LL r){
if(r-l<=1){
if(f(r))
return r;
if(f(l))
return l;
return 0;
}
LL mid=(l+r)/2;
if(f(mid))
return find(mid,r);
else
return find(l,mid);
}
int main(){
cin>>n>>k;
for(LL i=1;i<=n;i++) {
cin>>len[i];
}
cout<<find(0,1e8+5);
return 0;
}
附四点数据:
16 100000000
179
168
927
4670
5891
7287
10854
20976
48625
17908
111989
1097897
9999998
87
1
7