25362023-01-16 18:29:52kristofIntervallumXOR kihíváspython3Hibás válasz 0/100600ms11640 KiB
N = int(input())


for i in range(N):
    def ListToInt(InputList):
        ReturnValue = 0
        for i, value in enumerate(InputList):
            if value == 1:
                ReturnValue += 2**(len(InputList)-i-1)
        
        return ReturnValue
    
    RangeTop = int(input())
    
    b = len(bin(RangeTop)[2:])
    OsszeszamlaloLista = [0 for i in range(b)]

    for i in range(RangeTop+1):
        for index, j in enumerate(str(bin(i)[2:]).zfill(b)):
            if j == "1":
                OsszeszamlaloLista[index] += 1 

    KeresettSzamBinarisban = [0 for i in range(len(OsszeszamlaloLista))]

    for i, value in enumerate(OsszeszamlaloLista):
        if int(value) % 2 == 0 and value != 0:
            KeresettSzamBinarisban[i] += 1

        if ListToInt(KeresettSzamBinarisban) > RangeTop:
            KeresettSzamBinarisban[i] -=1 


    VegOsszeg = 0

    

    for i in range(b):
        OsszeszamlaloLista[i] -= KeresettSzamBinarisban[i]
        if OsszeszamlaloLista[i] % 2 == 1:
            OsszeszamlaloLista[i] = 1
        else:
            OsszeszamlaloLista[i] = 0
    

    print(ListToInt(OsszeszamlaloLista))
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Hibás válasz18ms11640 KiB
subtask20/15
2Időlimit túllépés600ms4152 KiB
subtask30/15
3Időlimit túllépés546ms4212 KiB
subtask40/20
4Időlimit túllépés577ms4504 KiB
subtask50/50
5Időlimit túllépés574ms4688 KiB
6Időlimit túllépés532ms4912 KiB