#include<iostream>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const int N = 100010;
int n, k;
ll f[N];
ll check(int x)
{
ll res = 0;
for (int i = 1; i <= n; i++)
res += f[i] / x;
return res;
}
int main()
{
cin >> n >> k;
for (int i = 1; i <= n; i++)
cin >> f[i];
sort(f + 1, f + 1 + n);
ll l = f[n] / k, r = f[n];
if (!l)
{
cout << -1 << endl;
return 0;
}
l = 1;
while (l < r)
{
ll mid = (l + r + 1)/2;
if (check(mid) >= k)
l = mid;
else r = mid - 1;
}
cout << l << endl;
return 0;
}