#include<iostream>
using namespace std;
const int maxn=1000100000;
int n,k,l[maxn];
bool check(int len){
int cnt=0;
for(int i=1;i<=n;i++){
cnt+=l[i]/len;
}return cnt>=k;
}
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>l[i];
}
int l=0,r=maxn;
while(l<=r){
int mid=(l+r)/2;
if(!check(mid)) r=mid-1;
else l=mid+1;
}cout<<l-1;
return 0;
}
是我的数组还不够大吗?
再大会报错