#include <bits/stdc++.h>
using namespace std;
#define rw(name) if (fopen(name".inp", "r")) freopen(name".inp", "r", stdin), freopen(name".out", "w", stdout)
#define ios ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
#define ll long long
#define el "\n"
#define ex " "
#define fi first
#define se second
const ll maxn=1e7;
ll a[maxn];
ll mx,n,m;
ll check (ll h) { ll s=0;
for (ll i=1; i<=n; i++)
if (a[i]>h) s+=(a[i]-h);
return s;
}
ll binary (ll l, ll r, ll m) { ll ans=0;
while (l<=r) {
ll mid =(l+r)/2;
if (check(mid)>=m) {ans=mid; l=mid+1;} else r=mid-1;
}
return ans;
}
int main() { ios;
rw("test");
cin>>n>>m; mx=LLONG_MIN;
for (ll i=1; i<=n; i++) cin>>a[i], mx=max(mx, a[i]);
cout<<binary (0,mx,m);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBydyhuYW1lKSBpZiAoZm9wZW4obmFtZSIuaW5wIiwgInIiKSkgIGZyZW9wZW4obmFtZSIuaW5wIiwgInIiLCBzdGRpbiksIGZyZW9wZW4obmFtZSIub3V0IiwgInciLCBzdGRvdXQpCiNkZWZpbmUgaW9zIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpLCBjaW4udGllKDApLCBjb3V0LnRpZSgwKTsKCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZWwgIlxuIgojZGVmaW5lIGV4ICIgIgojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCgoKY29uc3QgbGwgbWF4bj0xZTc7CmxsIGFbbWF4bl07CmxsIG14LG4sbTsKbGwgY2hlY2sgKGxsIGgpIHsgbGwgcz0wOwogICAgZm9yIChsbCBpPTE7IGk8PW47IGkrKykKICAgICAgICBpZiAoYVtpXT5oKSBzKz0oYVtpXS1oKTsKCiAgICByZXR1cm4gczsKfQoKbGwgYmluYXJ5IChsbCBsLCBsbCByLCBsbCBtKSB7IGxsIGFucz0wOwogICAgd2hpbGUgKGw8PXIpIHsKICAgICAgICBsbCBtaWQgPShsK3IpLzI7CiAgICAgICAgaWYgKGNoZWNrKG1pZCk+PW0pIHthbnM9bWlkOyBsPW1pZCsxO30gZWxzZSByPW1pZC0xOwogICAgfQogICAgcmV0dXJuIGFuczsKfQppbnQgbWFpbigpIHsgaW9zOwogICAgcncoInRlc3QiKTsKICAgIGNpbj4+bj4+bTsgbXg9TExPTkdfTUlOOwogICAgZm9yIChsbCBpPTE7IGk8PW47IGkrKykgY2luPj5hW2ldLCBteD1tYXgobXgsIGFbaV0pOwoKICAgIGNvdXQ8PGJpbmFyeSAoMCxteCxtKTsKCgogICAgcmV0dXJuIDA7Cn0K