Advertisement
Saleh127

LO 1127

Oct 6th, 2020
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define test int t; cin>>t; for(int cs=1;cs<=t;cs++)
  5. vector<ll>ans;
  6. void allcmbntn(ll ind,vector<ll>x,ll sum=0)
  7. {
  8. if(ind==x.size())
  9. {
  10. ans.push_back(sum);
  11. return;
  12. }
  13. allcmbntn(ind+1,x,sum);
  14. allcmbntn(ind+1,x,sum+x[ind]);
  15. }
  16.  
  17. int main()
  18. {
  19. ios_base::sync_with_stdio(0);
  20. cin.tie(0);
  21. cout.tie(0);
  22.  
  23. test
  24. {
  25. ll n,w,c,i,k;
  26.  
  27. cin>>n>>w;
  28. vector<ll>a,a1;
  29. for(i=1; i<=n; i++)
  30. {
  31. cin>>c;
  32. if(i<=(n/2))
  33. {
  34. a.push_back(c);
  35. }
  36. else
  37. {
  38. a1.push_back(c);
  39. }
  40. }
  41.  
  42. ans.clear();
  43. allcmbntn(0,a);
  44. a=ans;
  45.  
  46. ans.clear();
  47. allcmbntn(0,a1);
  48. a1=ans;
  49.  
  50. sort(a1.begin(),a1.end());
  51. sort(a.begin(),a.end());
  52. k=0;
  53.  
  54. for(i=0;i<a.size();i++)
  55. {
  56. if(a[i]>w) break;
  57.  
  58. k+=upper_bound(a1.begin(),a1.end(),w-a[i])-a1.begin();
  59. }
  60.  
  61. cout<<"Case "<<cs<<": "<<k<<endl;
  62. }
  63.  
  64. return 0;
  65. }
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement