rishmish0806

Untitled

May 22nd, 2025
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. int rem(int i,int j){
  5. if(i%j) return 1;
  6. else return 0;
  7. }
  8.  
  9. int main(){
  10.  
  11. ll t;
  12. cin>>t;
  13. while(t--){
  14. ll n;
  15. ll k;
  16. cin>>n>>k;
  17. vector<ll>a(n);
  18. ll sum=0;
  19. for(ll i=0;i<n;i++){
  20. cin>>a[i];
  21. sum+=a[i];
  22. }
  23.  
  24.  
  25.  
  26. if(sum<=k){
  27. cout<<0<<endl;
  28. }
  29.  
  30. else{
  31. ll diff=sum-k;
  32. if(diff>1){
  33. sort(a.begin(),a.end());
  34.  
  35. ll minm=a[0];
  36. ll steps=INT_MAX;
  37. ll decr=0;
  38. for(ll i=n-1;i>=0;i--){
  39. // cout<<"element "<<a[i]<<endl;
  40. decr+=a[i]-minm;
  41. // cout<<"decr "<<decr<<endl;
  42. // cout<<"2nd steps "<<n-i<<endl;
  43. if(decr>=diff){
  44. steps=min(steps,n-i);
  45. }
  46. else{
  47. if(i!=0){
  48. ll extra=(diff-decr)/(n-i+1)+rem((diff-decr),(n-i+1));
  49. steps=min(steps,n-i+extra);
  50.  
  51. }
  52. else{
  53. steps=min(steps,diff);
  54. }
  55. }
  56. // cout<<"steps "<<steps<<endl;
  57. }
  58.  
  59. cout<<steps<<endl;
  60. }
  61.  
  62. else{
  63. cout<<1<<endl;
  64.  
  65. }
  66. }
  67. }
  68.  
  69. return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment