Sreekar_0125

Untitled

Jan 10th, 2023
288
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.34 KB | Source Code | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define ld long double
  5. #define pb push_back
  6. #define mp make_pair
  7. #define yes cout << "Yes\n"
  8. #define no cout << "No\n"
  9. #define yn(x) x ? yes : no
  10. #define f(i, s, e) for (int i = s; i < e; i++)
  11. #define traverse(i, a) for (auto i : a)
  12. #define set_bits(x) __builtin_popcountll(x)
  13. #define leading_zero(x) __builtin_clz(x)
  14. #define trailing_zero(x) __builtin_ctz(x)
  15. #define vi vector<int>
  16. #define vl vector<ll>
  17. #define vb vector<bool>
  18. #define vpi vector<pair<int, int>>
  19. #define vpl vector<pair<ll, ll>>
  20. #define umi unordered_map<int, int>
  21. #define uml unordered_map<ll, ll>
  22. #define mi map<int, int>
  23. #define ml map<ll, ll>
  24. #define si set<int>
  25. #define sl set<ll>
  26. #define sc set<char>
  27. #define maxheapll priority_queue<ll>
  28. #define minheapll priority_queue<ll, vector<ll>, greater<ll>>
  29. #define all(x) x.begin(), x.end()
  30. #define minele(x) *min_element(all(x))
  31. #define maxele(x) *max_element(all(x))
  32. #define MOD 1000000007
  33. #define endl '\n'
  34. #define debug(x) cout << (#x) << " is " << (x) << endl
  35.  
  36. /////////////Sieve///////////////
  37. // vector<bool> sieve(MOD,true);
  38. // void gensieve() {
  39. //     sieve[0]=sieve[1]=false;
  40. //     for(ll i=2;i<=sqrt(MOD);i++) {
  41. //         if(sieve[i]) {
  42. //             for(ll j=i*i;j<=MOD;j+=i)
  43. //                 sieve[j] = false;
  44. //         }
  45. //     }
  46. // }
  47. ////////////////////////////////
  48.  
  49. bool isTwoPower(ll n)
  50. {
  51.     return (n && !(n & (n - 1)));
  52. }
  53. ll twopower(ll n)
  54. {
  55.     return (1L << n);
  56. }
  57.  
  58. void fast()
  59. {
  60.     ios_base::sync_with_stdio(false);
  61.     cin.tie(NULL);
  62.     cout.tie(NULL);
  63. }
  64. vi noConsecZero;
  65. void compute()
  66. {
  67.     for (int i = 0; i <= int(999999999); i++)
  68.     {
  69.         bitset<32> b(i);
  70.         bool y = true;
  71.         int leftMostSetBit = 32 - leading_zero(i) - 1;
  72.         for (int i = 0; i < leftMostSetBit - 1; i++)
  73.         {
  74.             if (b[i] == b[i + 1] && b[i] == 0)
  75.             {
  76.                 y = false;
  77.                 break;
  78.             }
  79.         }
  80.         if (y)
  81.             noConsecZero.pb(i);
  82.     }
  83. }
  84. void solve()
  85. {
  86.     int n;
  87.     cin >> n;
  88.     auto it = upper_bound(noConsecZero.begin(),noConsecZero.end(),n);
  89.     it--;
  90.     cout << *it << endl;
  91. }
  92.  
  93. int main()
  94. {
  95.     fast();
  96.     int t = 1;
  97.     cin >> t;
  98.     compute();
  99.     while (t--)
  100.     {
  101.         solve();
  102.     }
  103.     return 0;
  104. }
  105.  
Advertisement
Add Comment
Please, Sign In to add comment