#include<bits/stdc++.h>
using namespace std;
#define ll long long
int n,m,tree[1000010],lon,l,mid,sum;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>tree[i];
lon=max(tree[i],lon);
}
while(l<=lon){
mid=(l+lon)/2;
sum=0;
for(int i=1;i<=n;i++){
if(tree[i]>mid){
mid+=tree[i]-mid;
}
}
if(sum<m){
lon=mid-1;
}
else{
l=mid+1;
}
}
cout<<l;
return 0;
}