Guest User

Untitled

a guest
Jan 11th, 2023
1,809
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. #pragma GCC optimize("O3")
  2. #include<bits/stdc++.h>
  3.  
  4. #define ll long long
  5. #define pb push_back
  6. #define ld long double
  7. #define f first
  8. #define s second
  9.  
  10. using namespace std;
  11. const ll inf = (1ll << 62);
  12. int32_t main() {
  13.  
  14.     ios_base::sync_with_stdio(0);
  15.     cin.tie(0);
  16.     cout.tie(0);
  17.     ll t;
  18.     cin >> t;
  19.     while(t--) {
  20.         ll n, x;
  21.         cin >> n >> x;
  22.  
  23.         ll ma = n, mi = inf;
  24.         ll mask = 0;
  25.         for(ll i = 0; i < 61; i++) {
  26.             if(!((n >> i) & 1)) {
  27.                 if((x >> i) & 1) {
  28.                     mi = -1;
  29.                     break;
  30.                 }
  31.             } else {
  32.                 ll now = n + (1ll << i) - (n & mask);
  33.                 if((x >> i) & 1) {
  34.                     mi = min(mi, now);
  35.                 } else {
  36.                     ma = max(ma, now);
  37.                 }
  38.             }
  39.             mask += (1ll << i);
  40.         }
  41.         if(ma < mi) cout << ma << '\n';
  42.         else cout << "-1\n";
  43.     }
  44.  
  45.  
  46. }
  47.  
  48.  
Add Comment
Please, Sign In to add comment