fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define rw(name) if (fopen(name".inp", "r")) freopen(name".inp", "r", stdin), freopen(name".out", "w", stdout)
  6. #define ios ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  7.  
  8. #define ll long long
  9. #define el "\n"
  10. #define ex " "
  11. #define fi first
  12. #define se second
  13.  
  14.  
  15. const ll maxn=1e7;
  16. ll a[maxn];
  17. ll mx,n,m;
  18. ll check (ll h) { ll s=0;
  19. for (ll i=1; i<=n; i++)
  20. if (a[i]>h) s+=(a[i]-h);
  21.  
  22. return s;
  23. }
  24.  
  25. ll binary (ll l, ll r, ll m) { ll ans=0;
  26. while (l<=r) {
  27. ll mid =(l+r)/2;
  28. if (check(mid)>=m) {ans=mid; l=mid+1;} else r=mid-1;
  29. }
  30. return ans;
  31. }
  32. int main() { ios;
  33. rw("test");
  34. cin>>n>>m; mx=LLONG_MIN;
  35. for (ll i=1; i<=n; i++) cin>>a[i], mx=max(mx, a[i]);
  36.  
  37. cout<<binary (0,mx,m);
  38.  
  39.  
  40. return 0;
  41. }
  42.  
Success #stdin #stdout 0.01s 5276KB
stdin
Standard input is empty
stdout
Standard output is empty