Advertisement
Guest User

Untitled

a guest
Aug 11th, 2022
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.01 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define speed ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  6. #define pb push_back
  7. #define all(x) x.begin(), x.end()      
  8. #define sz(x) (int)x.size()
  9.  
  10. typedef long long ll;
  11. typedef unsigned long long ull;
  12.  
  13. vector <ll> v;
  14.  
  15. void precalc(){
  16.     for(int x = 0; x <= 31; x++)
  17.         for(int y = x + 1; y <= 31; y++){
  18.             ll res = (1LL << x) + (1LL << y) + 0LL;
  19.             //cout << res << '\n';
  20.             v.pb(res);
  21.         }
  22.     sort(all(v));      
  23. }
  24.  
  25. ll ls(int x){
  26.     int l = 0, r = sz(v), m;
  27.     while(l + 1 < r){
  28.         m = (l + r) / 2;
  29.         if(v[m] <= x)
  30.             l = m;
  31.         else
  32.             r = m;
  33.     }
  34.     return v[l];
  35. }
  36.  
  37. ll rs(int x){
  38.     int l = -1, r = sz(v)-1, m;
  39.     while(l + 1 < r){
  40.         m = (l + r) / 2;
  41.         if(v[m] >= x)
  42.             r = m;
  43.         else
  44.             l = m;
  45.     }
  46.     return v[r];
  47. }
  48.  
  49. void solve(){
  50.     int n;
  51.     cin >> n;
  52.     cout << min(n-ls(n), rs(n)-n) << '\n';
  53. }
  54.  
  55. int main(){
  56.     speed;
  57.     int T = 1;
  58.     precalc();
  59.    
  60.     cin >> T;
  61.                          
  62.     while(T--)
  63.         solve();
  64.  
  65.     return 0;
  66. }                    
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement