#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
const int N = 1000010;
LL q[N];
int n;
LL m;
bool check(LL mid)
{
LL res = 0;
for (int i = 1; i <= n; i ++ )
{
if (q[i] <= mid) continue;
else res += q[i] - mid;
}
if (res <= m)
return true;
return false;
}
void solve()
{
scanf("%d%lld", &n, &m);
LL maxn = 0;
for (int i = 1; i <= n; i ++ )
{
scanf("%lld", &q[i]);
}
sort(q + 1, q + 1 + n);
LL l = q[1], r = q[n];
while (l < r)
{
LL mid = (l + r) / 2;
if (check(mid)) r = mid;
else l = mid + 1;
}
cout << r << endl;
}
int main()
{
int T;
T = 1;
while(T -- )
{
solve();
}
return 0;
}