源代码:
using namespace std;
long a[1000001],key,n;
long kan(long st){
long sum=0;
for(int i=1;i<=n;++i){
if(a[i]>st)
sum=sum+a[i]-st;
}
return sum;
}
long find(long L,long R){
long mid,ss;
mid=(L+R)/2;
ss=kan(mid);
if(L>R)
return L;
else
if(ss>key)
find(mid+1,R);
else
find(L,mid-1);
}
int main(){
long max1=0;
cin>>n>>key;
for(int i=1;i<=n;++i){
cin>>a[i];
if(a[i]>max1)
max1=a[i];
}
cout<<find(1,max1)<<" ";
}
自己数据测出来很健康 0.9s 但是洛谷上爆RE
蒟蒻三联:咋回事啊 怎么办啊 大佬帮帮忙啊QAQ