#include <bits/stdc++.h>
#define VuDucNam ios_base::sync_with_stdio(false);
#define Lop9a6 cin.tie(NULL);
#define THCSPhamVanDong cout.tie(NULL);
#define ll long long
#define el cout << '\n'
#define sz(a) (ll) a.size()
#define all(a) a.begin(), a.end()
#define fi first
#define se second
#define fill(a, x) memset(a, x, sizeof(a))
#define file(name)                         \
    if (fopen(name ".inp", "r"))           \
    {                                      \
        freopen(name ".inp", "r", stdin);  \
        freopen(name ".out", "w", stdout); \
    }
#define TIME (1.0 * clock() / CLOCKS_PER_SEC)
#define RUNTIME cerr << "\nRuntime: " << TIME << "s.\n"

using namespace std;

const int N5 = 1e5 + 5;
const ll MOD = 1e9 + 7;
const ll inf = LLONG_MAX;

int n;
ll s,a[N5];

bool check(ll m)
{
    ll ans=0;
    for(int i=1;i<=n;++i)
        if(a[i]>=m)
            ans+=a[i]-m;
    return (ans>=s);
}

ll tknp()
{
    ll l=0,r=*max_element(a+1,a+n+1);
    ll ans=0;
    while(l<=r){
        ll m=(l+r)/2;
        if(check(m)){
            ans=m;
            l=m+1;
        }else r=m-1;
    }
    return ans;
}

void solve()
{
    cin >> n >> s;
    for(int i=1;i<=n;++i)
        cin >> a[i];
    cout << tknp();
    el;
}

int main()
{
    VuDucNam Lop9a6 THCSPhamVanDong
    // file();
    solve();
    RUNTIME;
    return 0;
}