fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. // Speed
  5. #define fast_io ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
  6.  
  7. // Typedefs
  8. #define int long long
  9. #define pb push_back
  10. #define ff first
  11. #define ss second
  12. #define all(x) (x).begin(), (x).end()
  13. #define rall(x) (x).rbegin(), (x).rend()
  14. #define sz(x) ((int)(x).size())
  15. #define endl '\n'
  16. #define yes cout << "yes\n"
  17. #define no cout << "no\n"
  18.  
  19. // Loops
  20. #define rep(i,a,b) for(int i=a;i<b;++i)
  21. #define per(i,a,b) for(int i=b-1;i>=a;--i)
  22. #define each(x, a) for (auto& x : a)
  23.  
  24. // Consts
  25. const int INF = 1e18;
  26. const int MOD = 1e9+7;
  27. const int N = 2e5 + 5;
  28.  
  29. // Math
  30. int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); }
  31. int lcm(int a, int b) { return (a / gcd(a, b)) * b; }
  32.  
  33. int power(int a, int b, int m = MOD) {
  34. int res = 1;
  35. while (b > 0) {
  36. if (b & 1) res = res * a % m;
  37. a = a * a % m;
  38. b >>= 1;
  39. }
  40. return res;
  41. }
  42.  
  43. int modinv(int a, int m = MOD) {
  44. return power(a, m - 2, m);
  45. }
  46.  
  47. // Logic
  48. void solve() {
  49. int n, c;
  50. cin >> n >> c;
  51.  
  52. int a[n];
  53. bool destroyed[n] = {0};
  54.  
  55. for (int i = 0; i < n; ++i) cin >> a[i];
  56.  
  57. sort(a, a + n);
  58.  
  59. int coins = 0;
  60.  
  61. while (true) {
  62. int target = -1;
  63. for (int i = n - 1; i >= 0; --i) {
  64. if (!destroyed[i] && a[i] <= c) {
  65. target = i;
  66. break;
  67. }
  68. }
  69. if (target == -1) break;
  70.  
  71. destroyed[target] = true;
  72. for (int i = 0; i < n; ++i) {
  73. if (!destroyed[i]) {
  74. if (a[i] <= 1e18 / 2) a[i] *= 2;
  75. else a[i] = 1e18;
  76. }
  77. }
  78. }
  79.  
  80. for (int i = 0; i < n; ++i)
  81. if (!destroyed[i] && a[i] > c)
  82. coins++;
  83.  
  84. cout << coins << endl;
  85.  
  86. }
  87.  
  88. // Main
  89. int32_t main() {
  90. fast_io;
  91.  
  92. int t;
  93. cin >> t;
  94. while (t--) {
  95. solve();
  96. }
  97.  
  98. return 0;
  99. }
  100.  
Success #stdin #stdout 0.01s 5296KB
stdin
4
5 10
10 4 15 1 8
3 42
1000000000 1000000000 1000000000
10 30
29 25 2 12 15 42 14 6 16 9
10 1000000
1 1 1 1 1 1 1 1 1 864026633
stdout
2
3
6
1