138332025-01-08 20:44:00horkaAutókódoláscpp17Részben helyes 48/501ms512 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
bool bit(int x, int i)
{
    return ((1LL<<i)&x);
}
signed main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int n; cin>>n;
    int el=n;
    for(int i=0; i<50; i++)
    {
        if(i!=0 && bit(n,i) && !bit(n,i-1))
        {
            el^=(1LL<<i);
            el^=(1LL<<(i-1));
            break;
        }
    }
    for(int i=0; i<50; i++)
        if(n==((1LL<<i)-1)) el=n;
    cout<<(el==n?-1:el)<<"\n";
    int kov=n,hany=0,pos=0;
    for(int i=0; i<50; i++)
    {
        if(bit(n,i) && !bit(n,i+1))
        {
            pos=i+1;
            break;
        }
        if(bit(n,i)) hany++;
    }
    kov^=(1LL<<(pos));
    for(int i=0; i<pos; i++)
        if(bit(n,i)) kov^=(1LL<<i);
    int p=(1LL<<hany)-1;
    kov^=p;
   /* if(kov==n)
    {

    }*/
    cout<<(kov==n?-1:kov)<<"\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base48/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms512 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Részben helyes1/21ms316 KiB
6Részben helyes1/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva4/41ms316 KiB
9Elfogadva4/41ms320 KiB
10Elfogadva4/41ms508 KiB
11Elfogadva4/41ms316 KiB
12Elfogadva4/41ms316 KiB
13Elfogadva4/41ms316 KiB
14Elfogadva4/41ms500 KiB
15Elfogadva4/41ms316 KiB
16Elfogadva4/41ms500 KiB
17Elfogadva4/41ms316 KiB