一道思维题
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 2e5+7;
int a[N];
signed main()
{
int t;
cin>>t;
while (t--)
{
int n,k,sum = 0;
cin>>n>>k;
for (int i=0;i<n;i++)
{
cin>>a[i];
sum+=a[i];
}
int res = max((int)0,sum-k);
sort(a,a+n);
for (int i=n-1;i>=1;i--){
sum-=a[i]-a[0];
if (sum-k<=0) res = min(res,n-i);
else res = min(res,n-i+(sum-k+n-i)/(n-i+1));
}
cout<<res<<endl;
}
}