#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,k,l[N];
int ga(int x)
{
int res=0;
for(int i=1;i<=n;i++) res+=l[i]/x;
return res;
}
signed main()
{
int maxn=0;
cin>>n>>k;
for(int i=1;i<=n;i++) cin>>l[i],maxn=max(maxn,l[i]);
int l=1,r=maxn,mid;
if(ga(1)<k)
{
cout<<"0";
return 0;
}
while(l<=r)
{
mid=l+(r-l)/2;
int ans=ga(mid);
if(ans==k)
{
cout<<mid;
return 0;
}
else if(ans>k) l=mid+1;
else r=mid-1;
}
return 0;
}