#include <bits/stdc++.h>
using namespace std;
long long arr[1000050],n,m,ans=-1,maxx=0;
bool check(int x){
long long sum=0;
for(int i=1;i<=n;i++){
if(x<arr[i]){
sum+=arr[i]-x;
}
}
return sum>=m;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>arr[i];
maxx=max(maxx,arr[i]);
}
long long l=0,r=maxx;
while(l<=r){
int mid=(l+r)/2;
if(check(mid)){
ans=mid;
l=mid+1;
}else{
r=mid-1;
}
}
cout<<ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmxvbmcgbG9uZyBhcnJbMTAwMDA1MF0sbixtLGFucz0tMSxtYXh4PTA7CmJvb2wgY2hlY2soaW50IHgpewoJbG9uZyBsb25nIHN1bT0wOwoJZm9yKGludCBpPTE7aTw9bjtpKyspewoJCWlmKHg8YXJyW2ldKXsKCQkJc3VtKz1hcnJbaV0teDsKCQl9Cgl9CglyZXR1cm4gc3VtPj1tOwp9CmludCBtYWluKCl7CgljaW4+Pm4+Pm07Cglmb3IoaW50IGk9MTtpPD1uO2krKyl7CgkJY2luPj5hcnJbaV07CgkJbWF4eD1tYXgobWF4eCxhcnJbaV0pOwoJfQoJbG9uZyBsb25nIGw9MCxyPW1heHg7Cgl3aGlsZShsPD1yKXsKCQlpbnQgbWlkPShsK3IpLzI7CgkJaWYoY2hlY2sobWlkKSl7CgkJCWFucz1taWQ7CgkJCWw9bWlkKzE7CgkJfWVsc2V7CgkJCXI9bWlkLTE7CgkJfQoJfQoJY291dDw8YW5zOwoJcmV0dXJuIDA7Cn0=