#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>
#define ll long long
ll a[1000005] = {0}, sum[1000005] = {0};
int main(int argc, char *argv[]) {
ll m, n;
scanf("%lld %lld",&n, &m);
for(ll i = 1; i <= n; i++)
{
scanf("%lld",&a[i]);
}
std::sort(&a[1], &a[n+1]);
for(ll i = 1; i <= n; i++) sum[i] = sum[i-1] + a[i];
for(ll i = n; i >= 1; i--)
{
if((sum[n] - sum[i - 1] - (n - i + 1) * a[i - 1]) < m) continue;
else
{
ll l = a[i - 1], r = a[i];
ll right = sum[n] - sum[i - 1],num = n - i + 1;
while(l < r)
{
ll mid = (l + r) / 2;
if((right - num * mid) <= m) r = mid;
else l = mid + 1;
}
printf("%lld",l);
break;
}
}
}