#include<iostream>
using namespace std;
void sort(int a[],int l,int r)
{
if(l>=r)
{
return ;
}
int x=a[l],i=l-1,j=r+1;
while(i<j)
{
do i++; while(a[i]<x);
do j--; while(a[j]>x);
if(i<j) swap(a[i],a[j]);
}
sort(a,l,j);
sort(a,j+1,r);
}
int shu(int a[],int n,int x)
{
int sum=0;
for(int i=0;i<n;i++)
{
if(a[i]>x)
{
sum+=a[i]-x;
}
}
return sum;
}
int main()
{
int n,m;
scanf("%d %d",&n,&m);
int a[n];
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
sort(a,0,n-1);
int l=0;
int r=a[n-1];
int ret=0;
while(l<=r)
{
int mid=(r+l)/2;
if(shu(a,n,mid)>=m)
{
ret=mid;
l=mid+1;
}else
{
r=mid-1;
}
}
printf("%d",ret);
return 0;
}