#include<iostream>
using namespace std;
const int MAXN=100005;
int a[MAXN],b[MAXN];
long long n,k,sum,q,ans;
int find(long long x,long long y)
{
if(x>=y-1)
{
return x;
}
int i=(x+y)/2;
long long sum2=0;
for(int j=0;j<n;j++)
{
sum2+=a[j]/i;
}
if(sum2>=k)
{
find(i,y);
}
else
{
find(x,i);
}
}
int main()
{
cin>>n>>k;
for(int i=0;i<n;i++)
{
cin>>a[i];
sum+=a[i];
}
if(sum<k)
{
cout<<"0";
}
else if(sum==k)
{
cout<<"1";
}
else
{
int q=sum/k;
ans=find(1,q);
cout<<ans;
}
return 0;
}