#include<stdio.h>
#include<stdlib.h>
long long n,m;
int a[2000002];
int cmp(const void*a,const void*b)
{
return *(int*)a-*(int*)b;
}
int main()
{
long long i,l=1,r=a[n],mid,sum=0;
scanf("%lld%lld",&n,&m);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
qsort(a+1,n,sizeof(int),cmp);
l=0;
r=a[n];
while(l<r)
{
mid=l+(r-l)/2;
sum=0;
for(i=1;i<=n;i++)
{
if(a[i]>mid)
{
sum=sum+a[i]-mid;
}
}
if(sum==m)
{
break;
}
else if(sum<m)
{
r=mid-1;
}
else if(sum>m)
{
l=mid+1;
}
}
printf("%lld",mid);
return 0;
}