#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,k,arr[200010];
bool check(int mid){
int sum=0;
for(int i=1;i<=n;i++){
sum+=arr[i]/mid;
if(arr[i]%mid==0){
sum--;
}
}
return sum<=k;
}
signed main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>arr[i];
}
int l=1,r=1e9+10,ans;
while(l<=r){
int mid=(l+r)/2;
if(check(mid)){
r=mid-1;
ans=mid;
}else{
l=mid+1;
}
}
cout<<ans;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBpbnQgbG9uZyBsb25nCmludCBuLGssYXJyWzIwMDAxMF07CmJvb2wgY2hlY2soaW50IG1pZCl7CglpbnQgc3VtPTA7Cglmb3IoaW50IGk9MTtpPD1uO2krKyl7CgkJc3VtKz1hcnJbaV0vbWlkOwoJCWlmKGFycltpXSVtaWQ9PTApewoJCQlzdW0tLTsKCQl9Cgl9CglyZXR1cm4gc3VtPD1rOwp9CnNpZ25lZCBtYWluKCl7CgljaW4+Pm4+Pms7Cglmb3IoaW50IGk9MTtpPD1uO2krKyl7CgkJY2luPj5hcnJbaV07Cgl9CglpbnQgbD0xLHI9MWU5KzEwLGFuczsKCXdoaWxlKGw8PXIpewoJCWludCBtaWQ9KGwrcikvMjsKCQlpZihjaGVjayhtaWQpKXsKCQkJcj1taWQtMTsKCQkJYW5zPW1pZDsKCQl9ZWxzZXsKCQkJbD1taWQrMTsKCQl9Cgl9Cgljb3V0PDxhbnM7Cn0=