#include <bits/stdc++.h>
using namespace std;
int main() {
long long N, M, sum = 0;
vector<long long> A, psum;
cin >> N >> M;
for(int i = 0; i < N; i++) {
long long tmp;
cin >> tmp;
A.push_back(tmp);
}
sort(A.begin(), A.end(), greater<long long>());
for(int i = 0; i < N; i++) {
sum += A[i];
psum.push_back(sum-A[i]*(i+1));
}
/*
for(int i = 0; i < N; i++)
cout << A[i] << " ";
cout << endl;
for(int i = 0; i < N; i++)
cout << psum[i] << " ";
cout << endl;
/**/
int lo = 0, hi = N-1, mid;
while(hi-lo > 0) {
mid = (lo+hi)/2;
if(psum[mid] < M)
lo = mid+1;
else
hi = mid;
}
if(A[lo]+(psum[lo]-M)/lo >= 0)
cout << A[lo]+(psum[lo]-M)/lo << endl;
else
cout << -1 << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWxvbmcgbG9uZyBOLCBNLCBzdW0gPSAwOwoJdmVjdG9yPGxvbmcgbG9uZz4gQSwgcHN1bTsKCWNpbiA+PiBOID4+IE07Cglmb3IoaW50IGkgPSAwOyBpIDwgTjsgaSsrKSB7CgkJbG9uZyBsb25nIHRtcDsKCQljaW4gPj4gdG1wOwoJCUEucHVzaF9iYWNrKHRtcCk7Cgl9Cglzb3J0KEEuYmVnaW4oKSwgQS5lbmQoKSwgZ3JlYXRlcjxsb25nIGxvbmc+KCkpOwoJZm9yKGludCBpID0gMDsgaSA8IE47IGkrKykgewoJCXN1bSArPSBBW2ldOwoJCXBzdW0ucHVzaF9iYWNrKHN1bS1BW2ldKihpKzEpKTsKCX0KCS8qCglmb3IoaW50IGkgPSAwOyBpIDwgTjsgaSsrKQoJCWNvdXQgPDwgQVtpXSA8PCAiICI7Cgljb3V0IDw8IGVuZGw7Cglmb3IoaW50IGkgPSAwOyBpIDwgTjsgaSsrKQoJCWNvdXQgPDwgcHN1bVtpXSA8PCAiICI7Cgljb3V0IDw8IGVuZGw7CgkvKiovCglpbnQgbG8gPSAwLCBoaSA9IE4tMSwgbWlkOwoJd2hpbGUoaGktbG8gPiAwKSB7CgkJbWlkID0gKGxvK2hpKS8yOwoJCWlmKHBzdW1bbWlkXSA8IE0pCgkJCWxvID0gbWlkKzE7CgkJZWxzZQoJCQloaSA9IG1pZDsKCX0KCWlmKEFbbG9dKyhwc3VtW2xvXS1NKS9sbyA+PSAwKQoJCWNvdXQgPDwgQVtsb10rKHBzdW1bbG9dLU0pL2xvIDw8IGVuZGw7CgllbHNlCgkJY291dCA8PCAtMSA8PCBlbmRsOwoJcmV0dXJuIDA7Cn0=