Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define speed ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
- #define pb push_back
- #define all(x) x.begin(), x.end()
- #define sz(x) (int)x.size()
- typedef long long ll;
- typedef unsigned long long ull;
- vector <ll> v;
- void precalc(){
- for(int x = 0; x <= 31; x++)
- for(int y = x + 1; y <= 31; y++){
- ll res = (1LL << x) + (1LL << y) + 0LL;
- //cout << res << '\n';
- v.pb(res);
- }
- sort(all(v));
- }
- ll ls(int x){
- int l = 0, r = sz(v), m;
- while(l + 1 < r){
- m = (l + r) / 2;
- if(v[m] <= x)
- l = m;
- else
- r = m;
- }
- return v[l];
- }
- ll rs(int x){
- int l = -1, r = sz(v)-1, m;
- while(l + 1 < r){
- m = (l + r) / 2;
- if(v[m] >= x)
- r = m;
- else
- l = m;
- }
- return v[r];
- }
- void solve(){
- int n;
- cin >> n;
- cout << min(n-ls(n), rs(n)-n) << '\n';
- }
- int main(){
- speed;
- int T = 1;
- precalc();
- cin >> T;
- while(T--)
- solve();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement