25872023-01-17 20:40:08kristofIntervallumXOR kihíváspython3Hibás válasz 35/100206ms28340 KiB
from sys import stdin, stdout
import sys
import os
pow2 = [1 << i for i in range(30)][::-1]
mm = pow2[0]
N = int(input())
x = [int(stdin.readline()) for i in range(N)]
max = 10000
if N > max: N = max
for i in range(N):
    xx = x[i]
    if xx % 4 == 0:
        xor = xx
    if xx % 4 == 1:
        xor = 1
    if xx % 4 == 2:
        xor = xx + 1
    if xx % 4 == 3:
        xor = 0
    drop = xor
    m = mm
    for index in range(30):
        if m ^ drop <= xx:
            drop ^= m
        m >>= 1
    #print(xor, xor ^ drop)
    sys.stdout.write(str(xor) + " " + str(xor ^ drop) + "\n")
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva18ms11496 KiB
subtask215/15
2Elfogadva27ms11728 KiB
subtask30/15
3Hibás válasz189ms27932 KiB
subtask420/20
4Elfogadva17ms11932 KiB
subtask50/50
5Hibás válasz206ms28340 KiB
6Hibás válasz204ms28152 KiB