#include <bits/stdc++.h>
using namespace std;
int n, k, l[(int)1e5+5];
bool check(int len) {
int ans = 0;
for(int i = 1; i <= n; i ++) ans += (l[i] / len);
if(ans <= k) return 0;
else return 1;
}
inline int read() {
int x = 0, f = 1;
char ch = getchar();
for(; ch < '0' || ch > '9'; ch = getchar()) if(ch == '-') f = -1;
for(; ch >= '0' && ch <= '9'; ch = getchar()) x = (x << 3) + (x << 1) + (ch ^ 48);
return x * f;
}
int main() {
n = read(), k = read();
for(int i = 1; i <= n; i ++) l[i] = read();
int l = 1, r = 1e9+7;
while(l < r) {
int mid = (l + r) >> 1;
if(!check(mid)) r = mid;
else l = mid+1;
}
printf("%d", l);
exit(0);
}