175832025-07-26 11:10:09KristófAutókódoláscpp17Részben helyes 48/501ms500 KiB
#include <iostream>
#include <cmath>

using namespace std;



int main()
{
    long long a;
    long long tmp1;
    //long long mina,maxa;
    cin>>a;
    //a=pow(10,12);
    //printbinary(a);
    int n=0;
    while((1LL<<n) <=a) n++;
    //cout<<n;
    if((int)log2(a)!=(int)log2(a+1))
        {
        cout<<"-1\n";
        }
    else
        {
        bool b=false;
        for(long long j=0;j<=n;j++)
            {
            if(!(a & (1LL<<j)))
                {
                b=true;
                //continue;
                }
            else
                {
                if(b)
                    {
                    tmp1=(1LL<<(j-1));
                    //cout<<0+pow(2,j-1)<<endl;
                    //printbinary(tmp1);
                    cout<<a-tmp1<<"\n";
                    //printbinary(a-tmp1);//<<"\n";
                    break;
                    }
                }
            }
        }
    int oc=0;
    bool b=false;
    int tmp;
    for(int i=0;i<=n;i++)
        {
        if(a & (1LL<<i))
            {
            if(b==false)
                {
                tmp=i;
                }
            b=true;
            oc++;
            }
        else
            {
            if(b)
                {
                break;
                }
            }

        }
    //cout<<((1*1LL)<<tmp+1)<<" ";
    //printbinary(a+((1*1LL)<<tmp+1)+(pow(2,oc-1)-1));
    cout<<a+((1*1LL)<<tmp)+((1LL<<(oc-1))-1)<<"\n";
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base48/50
1Elfogadva0/01ms500 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Részben helyes1/21ms392 KiB
6Részben helyes1/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva4/41ms316 KiB
9Elfogadva4/41ms316 KiB
10Elfogadva4/41ms316 KiB
11Elfogadva4/41ms316 KiB
12Elfogadva4/41ms316 KiB
13Elfogadva4/41ms316 KiB
14Elfogadva4/41ms316 KiB
15Elfogadva4/41ms316 KiB
16Elfogadva4/41ms500 KiB
17Elfogadva4/41ms316 KiB