1295 2022. 03. 30 16:32:35 k_balint Xor cpp14 Hibás válasz 10/100 39ms 8544 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

void f(ll &x, ll a, ll b){
    for(ll i=a;i>=b;i--){
        x |= 1ll<<i;
    }
}

void solve(){
    ll l,r; cin>>l>>r;
    if(r-l<4){
        
        ll maxi=-1;
        ll x,y,z; x=y=z=0;
        for(ll i=l;i<r-1;i++){
            for(ll j=i+1;j<r;j++){
                for(ll k=j+1;k<=r;k++){
                    if((i^j^k)>maxi){
                        maxi=(i^j^k);
                        x=i; y=j; z=k;
                    }
                }
            }
        }
        cout << x << ' ' << y << ' ' << z << '\n';

        return;
    }

    ll frt=0;
    ll bit=62;
    while(((l>>bit) & 1) == ((r>>bit) & 1)){
        frt|=((l>>bit) & 1) << bit;
        --bit;
    }

    ll x,y,z; x=y=z=frt;

    ll bit2=bit-1;
    while( ((l>>bit2) & 1) && ((r>>bit2) & 1^1)){
        --bit2;
    }
    //cout << bit << ' ' <<bit2 << endl;

    if((l>>bit2) & 1){
        f(z,bit,bit);
        f(y,bit,bit);
        f(x,bit,bit);
        f(z,bit2,bit2);
        f(y,bit2-1,0);
    }
    else{
        f(z,bit,bit);
        f(y,bit-1,bit2+1);
        f(z,bit-1,bit2+1);
        f(y,bit2,bit2);
        f(x,bit2-1,0);
    }

    cout << x << ' ' << y << ' ' << z << '\n';
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int tc; cin>>tc;
    while(tc--){
        solve();
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 10/100
1 Elfogadva 0/0 2ms 1892 KiB
2 Hibás válasz 0/0 4ms 2064 KiB
3 Elfogadva 5/5 1ms 2036 KiB
4 Hibás válasz 0/5 1ms 2048 KiB
5 Hibás válasz 0/5 1ms 2052 KiB
6 Elfogadva 5/5 1ms 2056 KiB
7 Hibás válasz 0/5 2ms 2088 KiB
8 Hibás válasz 0/5 3ms 2108 KiB
9 Hibás válasz 0/5 4ms 2208 KiB
10 Hibás válasz 0/5 4ms 2316 KiB
11 Hibás válasz 0/5 8ms 2544 KiB
12 Hibás válasz 0/5 8ms 2728 KiB
13 Hibás válasz 0/5 17ms 3088 KiB
14 Hibás válasz 0/6 23ms 3720 KiB
15 Hibás válasz 0/6 30ms 4540 KiB
16 Hibás válasz 0/6 39ms 5596 KiB
17 Hibás válasz 0/6 39ms 6648 KiB
18 Hibás válasz 0/7 4ms 6764 KiB
19 Hibás válasz 0/7 39ms 7792 KiB
20 Hibás válasz 0/7 37ms 8544 KiB