#include<iostream>
#include<algorithm>
int a[1000000];
using namespace std;
int n;
int qiu(int chu,int chang) {
int s=0;
for(int i=n-1;i>=chu;i--) {
s+=a[i]-chang;
}
return s;
}
int main() {
int m;
cin>>n>>m;
int t;
for(int i=0;i<n;i++) {
cin>>t;
a[i]=t;
}
sort(a,a+n);
int v=a[n-1];
int shi=n-1;
while(qiu(shi,v)<m) {
v--;
shi=upper_bound(a,a+n,v)-a;
}
cout<<v;
return 0;
}