#include<iostream>
#include<algorithm>
#include<iomanip>
#include<vector>
#include<cmath>
using namespace std;
int main()
{
int n,m;
long long sum=0;
cin>>n>>m;
int arr[100005];
for(int i=0;i<n;i++)
cin>>arr[i],sum+=arr[i];
if(sum<m)
{
cout<<0;
return 0;
}
sort(arr,arr+n);
int low=1,high=arr[n-1];
int count=0,ans=0;
while(low<=high)
{
int mid=(low+high)/2;
for(int i=0;i<n;i++)
count+=arr[i]/mid;
if(count<m)
high=mid-1,count=0;
else if(count>m)
low=mid+1,count=0;
else if(count==m)
{
ans=mid;
break;
}
}
for(ans+=1;;ans++)
{
count=0;
for(int i=0;i<n;i++)
count+=arr[i]/ans;
if(count<m)
break;
}
cout<<ans-1;
}