25432023-01-16 22:00:10kristofIntervallumXOR kihíváspython3Időlimit túllépés 0/100600ms11348 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
pow2 = [1 << i for i in range(b)][::-1]
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 in range(b):
            if i & pow2[index]:
                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
1Elfogadva19ms11348 KiB
subtask20/15
2Időlimit túllépés600ms4212 KiB
subtask30/15
3Időlimit túllépés546ms4360 KiB
subtask40/20
4Időlimit túllépés564ms4560 KiB
subtask50/50
5Időlimit túllépés587ms4920 KiB
6Időlimit túllépés563ms4916 KiB