#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll clas[10000];
ll ciel(float a)
{
ll t=a;
if(t!=a)
t++;
return t;
}
int main()
{
ios::sync_with_stdio(0);
ll n,b;
cin>>n>>b;
ll l=1,r=0;
for(int i=0;i<n;i++)
{
cin>>clas[i];
r=max(r,clas[i]);
}
if(b<n)//number of cakes is less than number of classes
{
cout<<"-1";
return 0;
}
//binary search on "maximum number of students " who will share a cake
while(l<r)
{
ll mid=(l+r)/2;
ll cakes_req=0;
for(int i=0;i<n;i++)
{
cakes_req+=ciel((clas[i]/(float)mid));
}
if(cakes_req<=b)
{
r=mid;
}
else
{
l=mid+1;
}
}
cout<<r;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcKbGwgY2xhc1sxMDAwMF07CmxsIGNpZWwoZmxvYXQgYSkKewoJbGwgdD1hOwoJaWYodCE9YSkKCXQrKzsKCXJldHVybiB0Owp9CmludCBtYWluKCkKewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CglsbCBuLGI7CgljaW4+Pm4+PmI7CglsbCBsPTEscj0wOwoJZm9yKGludCBpPTA7aTxuO2krKykKCXsKCQljaW4+PmNsYXNbaV07CgkJcj1tYXgocixjbGFzW2ldKTsKCX0KCWlmKGI8bikvL251bWJlciBvZiBjYWtlcyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIGNsYXNzZXMKCXsKCQljb3V0PDwiLTEiOwoJCXJldHVybiAwOwoJfQoJLy9iaW5hcnkgc2VhcmNoIG9uICJtYXhpbXVtIG51bWJlciBvZiBzdHVkZW50cyAiIHdobyB3aWxsIHNoYXJlIGEgY2FrZQoJd2hpbGUobDxyKQoJewoJCWxsIG1pZD0obCtyKS8yOwoJCWxsIGNha2VzX3JlcT0wOwoJCWZvcihpbnQgaT0wO2k8bjtpKyspCgkJewoJCQljYWtlc19yZXErPWNpZWwoKGNsYXNbaV0vKGZsb2F0KW1pZCkpOwoJCQkKCQl9CgkJaWYoY2FrZXNfcmVxPD1iKQoJCXsKCQkJcj1taWQ7CgkJfQoJCWVsc2UKCQl7CgkJCWw9bWlkKzE7CgkJfQoJfQoJY291dDw8cjsKfQ==