#include <iostream>
#include <stdio.h>
#include <vector>
#include <algorithm>
#include <map>
#include <cmath>
#include <string>
using namespace std;
int* num = new int[10000002];
#define unsigned long int
int number(int m, int mid, int n) {
int sum = 0;
for (int i = 0; i < n; ++i) {
if (num[i] > mid)
sum += num[i] - mid;
}
if (sum == m) return 1;
else if (sum > m)return 0;
else return 2;
}
signed main() {
int n; int m; cin >> n >> m;
for (int i = 0; i < n; ++i)
cin >> num[i];
int l = 0; int r = 1e9; int mid;
while (l + 1 != r) {
mid = (r + l) / 2;
if (number(m,mid,n)==1) {
break;
}
else if (number(m, mid, n) == 2) {
r = mid;
}
else {
l = mid;
}
}
mid = (r + l) / 2;
cout << mid;
}