fork download
  1. #include <iostream>
  2. #include<bits/stdc++.h>
  3. typedef long long int ll;
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8. ll t;
  9. cin>>t;
  10. while(t--){
  11. ll n;
  12. cin>>n;
  13. ll cost;
  14. cin>>cost;
  15.  
  16.  
  17. ll sum=0;
  18.  
  19. vector<ll> arr(n+1);
  20. for(int i=1;i<=n;i++){
  21. cin>>arr[i];
  22. sum = sum + arr[i];
  23.  
  24.  
  25. }
  26.  
  27.  
  28. int nodes = 0;
  29.  
  30.  
  31. sort(arr.begin()+2,arr.end());
  32. for(int i=1;i<=n-1;i++){
  33.  
  34. ll sum2=0;
  35. for(int j = 2 ; j<2+i ; j++){
  36. sum2 = sum2 + arr[j];
  37. }
  38.  
  39. ll sum3=0;
  40.  
  41. for(int j = n ; j>=n-i+1 ; j--){
  42. sum3 = sum3 + arr[j];
  43. }
  44.  
  45. ll left = sum2*(sum-sum2);
  46. ll right = sum3*(sum-sum3);
  47.  
  48. ll answer = min(left,right);
  49.  
  50. if(answer<=cost){
  51. nodes = i;
  52.  
  53. }
  54.  
  55. }
  56.  
  57. cout<<n-nodes<<endl;
  58.  
  59.  
  60. }
  61. return 0;
  62. }
Success #stdin #stdout 0s 5316KB
stdin
4
3 1000000000000000000
2000000 4000000 5000000
4 150
100 1 1 1
6 1275
35 15 10 25 10 5
6 400
35 15 10 25 10 5
stdout
1
3
4
6