Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define ll long long
- #define ld long double
- #define pb push_back
- #define mp make_pair
- #define yes cout << "Yes\n"
- #define no cout << "No\n"
- #define yn(x) x ? yes : no
- #define f(i, s, e) for (int i = s; i < e; i++)
- #define traverse(i, a) for (auto i : a)
- #define set_bits(x) __builtin_popcountll(x)
- #define leading_zero(x) __builtin_clz(x)
- #define trailing_zero(x) __builtin_ctz(x)
- #define vi vector<int>
- #define vl vector<ll>
- #define vb vector<bool>
- #define vpi vector<pair<int, int>>
- #define vpl vector<pair<ll, ll>>
- #define umi unordered_map<int, int>
- #define uml unordered_map<ll, ll>
- #define mi map<int, int>
- #define ml map<ll, ll>
- #define si set<int>
- #define sl set<ll>
- #define sc set<char>
- #define maxheapll priority_queue<ll>
- #define minheapll priority_queue<ll, vector<ll>, greater<ll>>
- #define all(x) x.begin(), x.end()
- #define minele(x) *min_element(all(x))
- #define maxele(x) *max_element(all(x))
- #define MOD 1000000007
- #define endl '\n'
- #define debug(x) cout << (#x) << " is " << (x) << endl
- /////////////Sieve///////////////
- // vector<bool> sieve(MOD,true);
- // void gensieve() {
- // sieve[0]=sieve[1]=false;
- // for(ll i=2;i<=sqrt(MOD);i++) {
- // if(sieve[i]) {
- // for(ll j=i*i;j<=MOD;j+=i)
- // sieve[j] = false;
- // }
- // }
- // }
- ////////////////////////////////
- bool isTwoPower(ll n)
- {
- return (n && !(n & (n - 1)));
- }
- ll twopower(ll n)
- {
- return (1L << n);
- }
- void fast()
- {
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- cout.tie(NULL);
- }
- vi noConsecZero;
- void compute()
- {
- for (int i = 0; i <= int(999999999); i++)
- {
- bitset<32> b(i);
- bool y = true;
- int leftMostSetBit = 32 - leading_zero(i) - 1;
- for (int i = 0; i < leftMostSetBit - 1; i++)
- {
- if (b[i] == b[i + 1] && b[i] == 0)
- {
- y = false;
- break;
- }
- }
- if (y)
- noConsecZero.pb(i);
- }
- }
- void solve()
- {
- int n;
- cin >> n;
- auto it = upper_bound(noConsecZero.begin(),noConsecZero.end(),n);
- it--;
- cout << *it << endl;
- }
- int main()
- {
- fast();
- int t = 1;
- cin >> t;
- compute();
- while (t--)
- {
- solve();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment