#include <bits/stdc++.h>
using namespace std;
int a[1000005];
int n,m;
int l = 0,r = 0;
int ans = 0;
bool lumbering(int h){
int num = 0;
for(int i = 1;i <= n;i++){
if(a[i] > h) num += a[i] - h;
}
return num;
}
int main(){
scanf("%d%d",&n,&m);
for(int i = 1;i <= n;i++){
scanf("%d",&a[i]);
if(a[i] > r) r =a[i];
}
while(l <= r){
int mid = (l + r) / 2;
if(lumbering(mid) >= m){
ans = mid;
r = mid - 1;
}
else{
l = mid + 1;
}
}
printf("%d",ans);
return 0;
}