#include<stdio.h>
int arr[100005];
int n, k, l, left, right, mid;
int check(int mid) {
int count = 0;
if (mid == 0)
return 0;
for (int i = 0; i < n; ++i) {
count += arr[i] / mid;
}
return count >= k;
}
int main()
{
long long int sum = 0;
int sz = 0;
scanf("%d%d", &n, &k);
for (int i = 0; i < n; ++i) {
scanf("%d", &arr[i]);
sum += arr[i];
}
sz = sum / n;
right = sz;
while(left<=right){
mid = left + (right - left) / 2 ;
if (check(mid)) {
left = mid + 1;
}
else
right = mid - 1;
}
if ((right + left) < 1)
printf("0\n");
else
printf("%d\n", (right + left) / 2);
return 0;
}