#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
long long a[N];
long long n,m;
bool check(long long x){
long long c=0;
for(int i=0;i<=n;i++){
if(a[i]>=x){
c+=a[i]-x;
}
}
return c>=m;
}
int main(){
cin>>n>>m;
long long s=0;
for(int i = 0;i<n;i++){
cin>>a[i];
if(a[i]>s){
s=a[i];
}
}
sort(a,a+n);
long long l=1,r=s,mid;
while(l<r){
mid=l+(r-l+1)/2;
if(check(mid)){
l=mid;
}else{
r=mid-1;
}
}
cout<<r;
return 0;
}