大佬求助
查看原帖
大佬求助
655072
xueba1hao大聪明楼主2023/8/14 10:57
#include <bits/stdc++.h>
using namespace std;

int m,a[1000005],n;

int check(int H)
{
  int sum=0;
  for(int i=1; i<=n; i++)
    if(a[i]>H)
      sum+=a[i]-H;
  return sum;
}

int main()
{
  int r=0;
  cin>>n>>m;
  for(int i=1; i<=n; i++)
  {
    scanf("%d",&a[i]);
    r=max(r,a[i]);
  }
  long long l=1,ans=0;
  while(l<=r)
  {
    long long mid=(l+r)/2;
    if(check(mid)>=m)
    {
      ans=mid;
      l=mid+1;
    }
    else
      r=mid-1;
  }
  cout<<ans<<endl;
  return 0;
}

2023/8/14 10:57
加载中...