题目问答
题目问答简介
为啥八十分
```cpp
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n,m;
ll a[1000010];
bool check(int x)
{
int res=0;
for(int i=0;i<n;i++)
{
if(a[i]>x)
res+=a[i]-x;
}
if(res>=m)
return true;
else
return false;
}
int main()
{
ll minn=INT_MAX,maxn=INT_MIN;
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>a[i];
minn=min(minn,a[i]);
maxn=max(maxn,a[i]);
}
ll l=minn,r=maxn;
while(r-l>1)
{
ll mid=(r+l)/2;
if(check(mid))
l=mid;
else
r=mid;
}
if(check(r))
cout<<r;
else
cout<<l;
return 0;
}
```
查看全文
1
0
0
86



