#include<bits/stdc++.h>
using namespace std;
long long t,n,k,a[200010];
int main(){
cin>>t;
while(t--){
cin>>n>>k;long long mi=1e10,t;
for(int i=1;i<=n;i++)cin>>a[i],mi=min(mi,a[i]),t+=a[i];
int sum=0;sort(a+1,a+n+1);
if(a[1]>k/n)sum+=a[1]-k/n;
for(int i=n;i>=3;i--){
if(a[i]!=mi){
t-=a[i]-mi;
a[i]=mi;
sum++;
}if(t<=k)break;
}if(t>k)sum+=min(t-k,1LL);
cout<<sum-1<<endl;
}
return 0;
}
2 个赞
题目或题面,你要养成良好习惯,OK?
1 个赞
不是你二分呢?
1 个赞
还有就是代码要写清楚点,改换行要换行,该注释要注释,不然是真的很乱 ![]()
1 个赞
我重写了,做对了
2 个赞
