import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
public class P1873 {
public static void main(String args[]) throws IOException {
StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
st.nextToken();
int n = (int)st.nval;
st.nextToken();
long m = (long)st.nval;
long [] num = new long [n];
long left = 0,right = 0;
for(int i=0; i<n; i++){
st.nextToken();
num[i] = (int)st.nval;
if(num[i] > right){
right = num[i];
}
}
while(left <= right){
int mid = (int)(left + right) / 2;
int temp = 0;
for(long k:num){
if(k > mid){
temp += k - mid;
}
}
if(temp < m){
right = mid - 1;
}else{
left = mid + 1;
}
}
System.out.println(right);
}
}