25372023-01-16 18:32:26kristofIntervallumXOR kihíváspython3Időlimit túllépés 0/100600ms11620 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)]

    osszeg = 0

    for i in range(RangeTop+1):
        osszeg ^= i
        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

    print(osszeg, osszeg^ListToInt(KeresettSzamBinarisban))

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

RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva17ms11620 KiB
subtask20/15
2Időlimit túllépés600ms4124 KiB
subtask30/15
3Időlimit túllépés559ms4152 KiB
subtask40/20
4Időlimit túllépés572ms4404 KiB
subtask50/50
5Időlimit túllépés563ms4488 KiB
6Időlimit túllépés550ms4584 KiB