#include <iostream>
#include <cmath>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long ll;
const ll N = 1e9+10;
ll n,m;
ll q[N];
bool check(ll x){
ll sum = 0;
for(ll i = 0; i < n; i++){
sum += max(0LL,q[i] - x);
}
if(sum <= m) return true;
return false;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n >> m;
for(ll i = 0; i < n; i++){
cin >> q[i];
}
sort(q, q + n);
ll l = q[0], r = q[n-1];
while(l < r){
ll mid = l + r >> 1;
if(check(mid)){
r = mid;
}else{
l = mid+1;
}
}
cout << l << endl;
return 0;
}