#include<bits/stdc++.h>
using namespace std;
int a[1000009];
int b,c;
int mid,l,ri,mx=0;
int h(int g){
	int ans=0;
	for(int i=1;i<=b;i++){
		if(a[i]>g) ans+=a[i]-g;
 	}
 	return ans;
}
int main(){
	cin>>b>>c;
	for(int i=1;i<=b;i++){
	cin>>a[i];
	mx=max(mx,a[i]);
	}
	l=1;
	ri=mx;
while(l<=ri){
	mid=(l+ri)/2;
	if(h(mid)==c){
	cout<<mid;
		break;
	}else if(h(mid)<c){
		ri=mid-1;
	}else if(h(mid)>c){
		l=mid+1;
	}
}

	return 0;
}

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