25422023-01-16 21:35:30kristofIntervallumXOR kihíváspython3Időlimit túllépés 0/100600ms11656 KiB
#spagetti

def ListToInt2(InputList):
    ReturnValue = 0
    for i, value in enumerate(InputList):
        if value == 1:
            ReturnValue += 2**(len(InputList)-i-1)
    return ReturnValue

def ListToInt(InputList):
    ReturnValue = 0
    for value in InputList:
        ReturnValue += ReturnValue
        if value == 1:
            ReturnValue += 1
    return ReturnValue

b = 30
N = int(input())
for i in range(N):
    RangeTop = int(input())
    osszeg = 0
    OsszeszamlaloLista = [0 for i in range(b)]
    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(b)]
    for i, value in enumerate(OsszeszamlaloLista):
        if int(value) % 2 == 0 and value != 0:
            KeresettSzamBinarisban[i] = 1
        if ListToInt(KeresettSzamBinarisban) > RangeTop:
            KeresettSzamBinarisban[i] -=1 
    print(osszeg, osszeg^ListToInt(KeresettSzamBinarisban))
    
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva18ms11656 KiB
subtask20/15
2Időlimit túllépés600ms4192 KiB
subtask30/15
3Időlimit túllépés578ms4392 KiB
subtask40/20
4Időlimit túllépés568ms4660 KiB
subtask50/50
5Időlimit túllépés574ms4916 KiB
6Időlimit túllépés566ms5096 KiB