#include<bits/stdc++.h> using namespace std; long long n,m=0,k=1,l,ans1,e,r=-1,a[10000001]; long long ans; int p(long long int x){ e=0; for(int i=1;i<=n;i++){ if(a[i]>x){ e+=a[i]-x; } } if(e==ans){ // cout<<-12<<endl; return 1; }else if(e<ans){ // cout<<-43<<endl; return 2; }else{ // cout<<-123<<endl; return 4; } } int main(){ cin>>n>>ans; for(int i=1;i<=n;i++){ cin>>a[i]; if(a[i]>m){ m=a[i]; } } // cout<<m<<endl; l=m; while(k<l){ ans1=(k+l)/2; if(p(ans1)==1){ r=ans1; break; }else if(p(ans1)==2){ l=ans1-1; }else{ k=ans1+1; } // cout<<ans<<' '; } cout<<r; } /************************************************************** Problem: 1908 User: zhengzihao Language: C++ Result: Wrong Answer ****************************************************************/