#include<bits/stdc++.h> using namespace std; int a[1000009]; int b,c; int mid,l,ri,mx=0; int h(int g){ int ans=0; for(int i=1;i<=b;i++){ if(a[i]>g) ans+=a[i]-g; } return ans; } int main(){ cin>>b>>c; for(int i=1;i<=b;i++){ cin>>a[i]; mx=max(mx,a[i]); } l=1; ri=mx; while(l<=ri){ mid=(l+ri)/2; if(h(mid)==c){ cout<<mid; break; }else if(h(mid)<c){ ri=mid-1; }else if(h(mid)>c){ l=mid+1; } } return 0; } /************************************************************** Problem: 1908 User: chenyubo Language: C++ Result: Wrong Answer ****************************************************************/