142492025-01-10 10:43:20birozsAutókódoláspython3Partially correct 18/5017ms3392 KiB
N = int(input())
def binaris(x):
    bin = ""
    while x > 0:
        bin = str(x%2) + bin
        x = x // 2
    return bin
def decimalis(x):
    dec = 1
    for i in range(1,len(x)):
        dec = 2*dec + int(x[i])
    return dec
def exp2(x):
    n = 1
    while 2**n < x:
        n += 1
    return n

binalak = binaris(N)
db1 = binalak.count("1")
db0 = binalak.count("0")
n = len(binalak)
if db1 == 1:
    print(2**(exp2(N)-1))
    print(2**(exp2(N)+1))
elif db0 == 0:
    print(-1)
    print(decimalis(binalak+"0"))
elif binalak[-1] == "0":
    lista = list(binalak)
    i = n - 2
    while lista[i] != "1":
        i -= 1
    elso1poz = i
    lista[i] = "0"
    lista[-1] = "1"
    elozobin = "".join(lista)
    print(decimalis(elozobin))
    lista = list(binalak)
    i = elso1poz - 1
    while i >= 0 and lista[i] != "0":
        i -= 1
    if i == -1:
        kovetkezobin = "1" + "0"*db0 + "1"*(db1-1)
        print(decimalis(kovetkezobin))
    else:
        lista[i] = "1"
        kovetkezobin = "".join(lista[:i+1])+"0"*(lista[i+1:].count("0")+1)+"1"*(elso1poz-i-1)
        print(decimalis(kovetkezobin))
SubtaskSumTestVerdictTimeMemory
base18/50
1Accepted0/017ms3312 KiB
2Accepted0/016ms3136 KiB
3Partially correct1/217ms3116 KiB
4Accepted2/217ms3140 KiB
5Wrong answer0/217ms3316 KiB
6Wrong answer0/217ms3124 KiB
7Partially correct1/216ms3124 KiB
8Wrong answer0/417ms3120 KiB
9Wrong answer0/416ms3100 KiB
10Partially correct2/416ms3124 KiB
11Partially correct2/416ms3392 KiB
12Partially correct2/416ms3244 KiB
13Partially correct2/417ms3128 KiB
14Partially correct2/416ms3312 KiB
15Partially correct2/416ms3128 KiB
16Wrong answer0/414ms3124 KiB
17Partially correct2/416ms3120 KiB