为啥70,求解
#include<iostream>
#include<cstring>
using namespace std;
int a[2000001],max1=0,min1=2147483647;
void shuru(int n);
int czl(int x,int n);
int js(int x,int n);
int main()
{
long long n,mu;
cin>>n>>mu;
shuru(n);
///kp(a,1,n);
cout<<max1-czl(mu,n);
return 0;
}
void shuru(int n)
{
for(int i=1;i<=n;i++)
{
cin>>a[i];
max1=max(max1,a[i]);
min1=min(min1,a[i]);
}
}
///1,2,3,4,4,5,6,7,8
int czl(int x,int n)
{
int l,r,mid;
r=min(x,max1);
l=1;
mid=(r+l)/2;
while(l<r)
{
if(x<=js(mid,n))
{
r=mid;
}
else
{
l=mid+1;
}
mid=(l+r)/2;
}
return r;
}
int js(int x,int n)
{
int sum=0;
for(int i=1;i<=n;i++)
{
if(a[i]>max1-x)
{
sum+=a[i]-max1+x;
}
}
return sum;
}