#include <stdio.h>
int n,k;
int a[100005];
int check(int limit)
{
long long sum=0;
int i;
for(i=0;i<n;i++)
{
sum+=a[i]/limit;
}
return sum>=k;
}
int comp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
int main()
{
int i,s=0;
scanf("%d %d",&n,&k);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
s+=a[i];
}
if(s<k)
{
printf("0");
return 0;
}
qsort(a,n,sizeof(int),comp);
int f=0,l=a[n-1],mid,ans=0;
while(f<=l)
{
mid=(f+l)/2;
if(check(mid))
{
f=mid+1;
ans=mid;
}
else
{
l=mid-1;
}
}
printf("%d",ans);
return 0;
}