C. Set or Decrease
一道思维题
#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;}
}