#include<iostream>
#include<algorithm>
using namespace std;
long long N, K, num, number[20000000], n;
int fb(int k) {
long long count1 = 0, c;
for (long long i = 0; i <= N; i++) {
c = number[i] / k;
count1 = count1 + c;
}
return count1;
}
int main() {
cin >> N >> K;
long long initial = 0;
for (int i = 0; i < N; i++) {
cin >> num;
number[i] = num;
initial = max(initial, number[i]);
}
long long l = 1, r =initial, mid;
while (l < r) {
mid = (l + r+1) / 2;
if (fb(mid) <K)
r = mid -1;
else
l = mid +1;
}
cout << l-1;
return 0;
}