#include <iostream>
#define ll long long
using namespace std;
const int maxn = 1e6 + 10;
ll n, m, tree[maxn];
bool check(ll len) {
ll sum = 0;
for(int i = 0; i < n; i++) if(tree[i] > len) sum += tree[i] - len;
return sum <= m;
}
ll l, r, ma = -1;
int main() {
cin >> n >> m;
for(int i = 0; i < n; i++) cin >> tree[i], ma = max(ma, tree[i]);
r = m;
while(l < r) {
ll mid = (l + r) >> 1;
if(check(mid)) r = mid;
else l = mid + 1;
}
cout << l;
return 0;
}