#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==