#include<bits/stdc++.h>
using namespace std;
long long n,m,a[1000005],o,k;
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
    	cin>>a[i];
    	o=max(o,a[i]);
    }
    int l=1;
    long long r=o;
    while(l<=r){
    	int ans=0;
    	long long k=(l+r)/2;
    	for(int i=1;i<=n;i++){
    	if(a[i]>k)ans+=(a[i]-k);
         }
        if(ans==m){
        	cout<<l-1;
        	return 0;
        }
        else if(ans<m){
        	r=k-1;
        }
        else if(ans>m){
        	l=k+1;
        }
    }
	return 0;
}

/**************************************************************
	Problem: 1908
	User: chenjingqi
	Language: C++
	Result: Wrong Answer
****************************************************************/