#include<bits/stdc++.h>
using namespace std;
long long n,m,a[1000100],o;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
o=max(o,a[i]);
}
long long l=1;
long long r=o;
while(l<=r){
long long ans=0;
long long k=(l+r)/2;
for(int i=1;i<=n;i++){
if(a[i]>k)ans+=(a[i]-k);
}
if(ans==m){
cout<<k;
return 0;
}
if(ans<m){
r=k-1;
}
if(ans>m){
l=k+1;
}
}
cout<<l-1;
return 0;
}
/**************************************************************
Problem: 1908
User: chenjingqi
Language: C++
Result: Accepted
Time:734 ms
Memory:9888 kb
****************************************************************/