#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
****************************************************************/