imreally_john

GAMENUM

Apr 5th, 2020
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define adj_list vector<vi>
  3. #define endl "\n"
  4. #define INF_INT 2e9
  5. #define INF_LL 2e18
  6. #define matmax 25
  7. #define mod 1000000007
  8. #define mp make_pair
  9. #define pb push_back
  10. #define pi pair<int, int>
  11. #define pii pair<int, pair<int, int> >
  12. #define pl pair<ll, ll>
  13. #define pll pair<ll, pair<ll, ll> >
  14. #define vi vector<int>
  15. #define vl vector<ll>
  16. #define fastio ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  17. using namespace std;
  18. typedef long long int ll;
  19.  
  20. int lsone(int n)
  21. {
  22.     return (n&-n);
  23. }
  24.  
  25. ll pow1(ll a, ll b)
  26. {
  27.     if (b == 0)
  28.         return 1ll;
  29.     else if (b == 1)
  30.         return a;
  31.     else
  32.     {
  33.         ll x = pow1(a, b/2);
  34.         x *= x;
  35.         x %= mod;
  36.         if (b%2)
  37.         {
  38.             x *= a;
  39.             x %= mod;
  40.         }
  41.         return x;
  42.     }
  43. }
  44.  
  45. int t;
  46. ll a, b;
  47.  
  48. int main()
  49. {
  50.     fastio;    
  51.     cin>>t;
  52.     while (t--) {
  53.         cin>>a>>b;
  54.         ll maxxor = a ^ b, numop = 0, iter = 100, maximb = 0;
  55.         for (ll i = 0; i <= 60; i++) {
  56.             if (b & (1ll<<i) or (a & (1ll<<i)))
  57.                 maximb = (1ll<<i);
  58.         }
  59.  
  60.         while (iter--) {
  61.             if (b % 2) b = ((b - 1)/2 + maximb);
  62.             else b /= 2;
  63.  
  64.             if ((a ^ b) > maxxor) {
  65.                 maxxor = a ^ b;
  66.                 numop = (100 - iter);
  67.             }
  68.         }
  69.  
  70.         cout<<numop<<" "<<maxxor<<endl;
  71.     }
  72.  
  73.     return 0;
  74. }
Add Comment
Please, Sign In to add comment