fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. using ll = long long int;
  4. #define MOD (ll) (1e9+7)
  5.  
  6. ll pw(ll a,ll b)
  7. {
  8. ll res=1;
  9. while(b)
  10. {
  11. if(b%2 == 1)
  12. {
  13. res = (res*a)%MOD;
  14. }
  15. b=b/2;
  16. a = (a*a)%MOD;
  17. }
  18. return res%MOD;
  19. }
  20. int main()
  21. {
  22. ll t;
  23. cin>>t;
  24. while(t--)
  25. {
  26. ll n,k;
  27. cin>>n>>k;
  28. ll h[n],g[n];
  29. for(int i=0;i<n;i++)
  30. {
  31. cin>>h[i];
  32. }
  33. for(int i=0;i<n;i++)
  34. {
  35. cin>>g[i];
  36. }
  37. ll cnt = 0;
  38. for(int i=1;i<=(1LL<<n)-1;i++)
  39. {
  40. ll su = 0,last = -1;
  41. ll fl = 0;
  42. for(int j=0;j<n;j++)
  43. {
  44. if(i&(1LL<<j) && h[j]>=last)
  45. {
  46. su+=g[j];
  47. last = h[j];
  48. }
  49. else if(i&(1LL<<j) && h[j]<last)
  50. {
  51. fl = 1;
  52. break;
  53. }
  54. }
  55. if(fl == 1)
  56. {
  57. continue;
  58. }
  59. else{
  60. if(su>=k)
  61. {
  62. cnt++;
  63. }
  64. }
  65. }
  66. cout<<cnt<<"\n";
  67. }
  68. }
Success #stdin #stdout 0.01s 5536KB
stdin
Standard input is empty
stdout
0