#include<bits/stdc++.h>
#define ll long long
#define task ""
using namespace std;
static struct FastInput {
static constexpr int BUF_SIZE = 1 << 20;
char buf[BUF_SIZE];
size_t chars_read = 0;
size_t buf_pos = 0;
FILE *in = stdin;
char cur = 0;
inline char get_char() {
if (buf_pos >= chars_read) {
chars_read = fread(buf, 1, BUF_SIZE, in);
buf_pos = 0;
buf[0] = (chars_read == 0 ? -1 : buf[0]);
}
return cur = buf[buf_pos++];
}
inline void tie(int) {}
inline explicit operator bool() {
return cur != -1;
}
inline static bool is_blank(char c) {
return c <= ' ';
}
inline bool skip_blanks() {
while (is_blank(cur) && cur != -1) {
get_char();
}
return cur != -1;
}
inline FastInput& operator>>(char& c) {
skip_blanks();
c = cur;
return *this;
}
inline FastInput& operator>>(string& s) {
if (skip_blanks()) {
s.clear();
do {
s += cur;
} while (!is_blank(get_char()));
}
return *this;
}
template <typename T>
inline FastInput& read_integer(T& n) {
n = 0;
if (skip_blanks()) {
int sign = +1;
if (cur == '-') {
sign = -1;
get_char();
}
do {
n += n + (n << 3) + cur - '0';
} while (!is_blank(get_char()));
n *= sign;
}
return *this;
}
template <typename T>
inline typename enable_if<is_integral<T>::value, FastInput&>::type operator>>(T& n) {
return read_integer(n);
}
#if !defined(_WIN32) | defined(_WIN64)
inline FastInput& operator>>(__int128& n) {
return read_integer(n);
}
#endif
template <typename T>
inline typename enable_if<is_floating_point<T>::value, FastInput&>::type operator>>(T& n) {
n = 0;
if (skip_blanks()) {
string s;
(*this) >> s;
sscanf(s.c_str(), "%lf", &n);
}
return *this;
}
} fast_input;
#define cin fast_input
const ll N=1e6+11;
ll a[N],n,k,s=0,ans=-1;
bool check(ll mid){
ll d=0;
for(ll i=1;i<=n;i++){
d+=a[i]/mid;
if(d>=k){
return true;
}
}
return false;
}
void chatnp(ll l,ll r){
while(l<=r){
ll mid=(l+r)/2;
if(check(mid)){
ans=mid;
l=mid+1;
}
else{
r=mid-1;
}
}
}
void input(){
cin>>n>>k;
for(ll i=1;i<=n;i++){
cin>>a[i];
}
}
void output(){
cout<<ans;
}
int main(){
freopen("SOCOLA.INP","r",stdin);
freopen("SOCOLA.OUT","w",stdout);
input();
chatnp(1,1e9);
output();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSB0YXNrICIiCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnN0YXRpYyBzdHJ1Y3QgRmFzdElucHV0IHsKICBzdGF0aWMgY29uc3RleHByIGludCBCVUZfU0laRSA9IDEgPDwgMjA7CiAgY2hhciBidWZbQlVGX1NJWkVdOwogIHNpemVfdCBjaGFyc19yZWFkID0gMDsKICBzaXplX3QgYnVmX3BvcyA9IDA7CiAgRklMRSAqaW4gPSBzdGRpbjsKICBjaGFyIGN1ciA9IDA7CgogIGlubGluZSBjaGFyIGdldF9jaGFyKCkgewogICAgaWYgKGJ1Zl9wb3MgPj0gY2hhcnNfcmVhZCkgewogICAgICBjaGFyc19yZWFkID0gZnJlYWQoYnVmLCAxLCBCVUZfU0laRSwgaW4pOwogICAgICBidWZfcG9zID0gMDsKICAgICAgYnVmWzBdID0gKGNoYXJzX3JlYWQgPT0gMCA/IC0xIDogYnVmWzBdKTsKICAgIH0KICAgIHJldHVybiBjdXIgPSBidWZbYnVmX3BvcysrXTsKICB9CgogIGlubGluZSB2b2lkIHRpZShpbnQpIHt9CgogIGlubGluZSBleHBsaWNpdCBvcGVyYXRvciBib29sKCkgewogICAgcmV0dXJuIGN1ciAhPSAtMTsKICB9CgogIGlubGluZSBzdGF0aWMgYm9vbCBpc19ibGFuayhjaGFyIGMpIHsKICAgIHJldHVybiBjIDw9ICcgJzsKICB9CgogIGlubGluZSBib29sIHNraXBfYmxhbmtzKCkgewogICAgd2hpbGUgKGlzX2JsYW5rKGN1cikgJiYgY3VyICE9IC0xKSB7CiAgICAgIGdldF9jaGFyKCk7CiAgICB9CiAgICByZXR1cm4gY3VyICE9IC0xOwogIH0KCiAgaW5saW5lIEZhc3RJbnB1dCYgb3BlcmF0b3I+PihjaGFyJiBjKSB7CiAgICBza2lwX2JsYW5rcygpOwogICAgYyA9IGN1cjsKICAgIHJldHVybiAqdGhpczsKICB9CgogIGlubGluZSBGYXN0SW5wdXQmIG9wZXJhdG9yPj4oc3RyaW5nJiBzKSB7CiAgICBpZiAoc2tpcF9ibGFua3MoKSkgewogICAgICBzLmNsZWFyKCk7CiAgICAgIGRvIHsKICAgICAgICBzICs9IGN1cjsKICAgICAgfSB3aGlsZSAoIWlzX2JsYW5rKGdldF9jaGFyKCkpKTsKICAgIH0KICAgIHJldHVybiAqdGhpczsKICB9CgogIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgogIGlubGluZSBGYXN0SW5wdXQmIHJlYWRfaW50ZWdlcihUJiBuKSB7CiAgICBuID0gMDsKICAgIGlmIChza2lwX2JsYW5rcygpKSB7CiAgICAgIGludCBzaWduID0gKzE7CiAgICAgIGlmIChjdXIgPT0gJy0nKSB7CiAgICAgICAgc2lnbiA9IC0xOwogICAgICAgIGdldF9jaGFyKCk7CiAgICAgIH0KICAgICAgZG8gewogICAgICAgIG4gKz0gbiArIChuIDw8IDMpICsgY3VyIC0gJzAnOwogICAgICB9IHdoaWxlICghaXNfYmxhbmsoZ2V0X2NoYXIoKSkpOwogICAgICBuICo9IHNpZ247CiAgICB9CiAgICByZXR1cm4gKnRoaXM7CiAgfQoKICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KICBpbmxpbmUgdHlwZW5hbWUgZW5hYmxlX2lmPGlzX2ludGVncmFsPFQ+Ojp2YWx1ZSwgRmFzdElucHV0Jj46OnR5cGUgb3BlcmF0b3I+PihUJiBuKSB7CiAgICByZXR1cm4gcmVhZF9pbnRlZ2VyKG4pOwogIH0KCiAgI2lmICFkZWZpbmVkKF9XSU4zMikgfCBkZWZpbmVkKF9XSU42NCkKICBpbmxpbmUgRmFzdElucHV0JiBvcGVyYXRvcj4+KF9faW50MTI4JiBuKSB7CiAgICByZXR1cm4gcmVhZF9pbnRlZ2VyKG4pOwogIH0KICAjZW5kaWYKCiAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiAgaW5saW5lIHR5cGVuYW1lIGVuYWJsZV9pZjxpc19mbG9hdGluZ19wb2ludDxUPjo6dmFsdWUsIEZhc3RJbnB1dCY+Ojp0eXBlIG9wZXJhdG9yPj4oVCYgbikgewogICAgbiA9IDA7CiAgICBpZiAoc2tpcF9ibGFua3MoKSkgewogICAgICBzdHJpbmcgczsKICAgICAgKCp0aGlzKSA+PiBzOwogICAgICBzc2NhbmYocy5jX3N0cigpLCAiJWxmIiwgJm4pOwogICAgfQogICAgcmV0dXJuICp0aGlzOwogIH0KfSBmYXN0X2lucHV0OwojZGVmaW5lIGNpbiBmYXN0X2lucHV0CmNvbnN0IGxsIE49MWU2KzExOwpsbCBhW05dLG4sayxzPTAsYW5zPS0xOwpib29sIGNoZWNrKGxsIG1pZCl7CiAgICBsbCBkPTA7CiAgICBmb3IobGwgaT0xO2k8PW47aSsrKXsKICAgICAgICBkKz1hW2ldL21pZDsKICAgICAgICBpZihkPj1rKXsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9CnZvaWQgY2hhdG5wKGxsIGwsbGwgcil7CiAgICB3aGlsZShsPD1yKXsKICAgICAgICBsbCBtaWQ9KGwrcikvMjsKICAgICAgICBpZihjaGVjayhtaWQpKXsKICAgICAgICAgICAgYW5zPW1pZDsKICAgICAgICAgICAgbD1taWQrMTsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgcj1taWQtMTsKICAgICAgICB9CiAgICB9Cn0Kdm9pZCBpbnB1dCgpewogICAgY2luPj5uPj5rOwogICAgZm9yKGxsIGk9MTtpPD1uO2krKyl7CiAgICAgICAgY2luPj5hW2ldOwogICAgfQp9CnZvaWQgb3V0cHV0KCl7CiAgICBjb3V0PDxhbnM7Cn0KaW50IG1haW4oKXsKICAgIGZyZW9wZW4oIlNPQ09MQS5JTlAiLCJyIixzdGRpbik7CiAgICBmcmVvcGVuKCJTT0NPTEEuT1VUIiwidyIsc3Rkb3V0KTsKICAgIGlucHV0KCk7CiAgICBjaGF0bnAoMSwxZTkpOwogICAgb3V0cHV0KCk7Cn0K