25982023-01-17 21:10:42kristofIntervallumXOR kihíváspython3Hibás válasz 0/100601ms13488 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 = 20000
# if N > max: N = max
all = ""
i = 0
xxor = 0
while i < N:
    xx = x[i]
    #aa = xx % 4
    aa = xx & 4
    if aa == 0 : xxor = xx
    if aa == 1 : xxor = 1
    if aa == 2 : xxor = xx + 1
    if aa == 3 : xxor = 0
    drop = xxor
    m = mm
    for index in range(30):
        if m ^ drop <= xx:
            drop ^= m
        m >>= 1
    #print(xxor, xxor ^ drop, flush=True)
    all = all + str(xxor) + " " + str(xxor ^ drop) + "\n"
    # sys.stdout.write(str(xxor) + " " + str(xxor ^ drop) + "\n")
    i += 1
sys.stdout.write(all)

RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Hibás válasz17ms11496 KiB
subtask20/15
2Hibás válasz28ms11748 KiB
subtask30/15
3Időlimit túllépés568ms12676 KiB
subtask40/20
4Hibás válasz17ms11724 KiB
subtask50/50
5Időlimit túllépés601ms13388 KiB
6Időlimit túllépés561ms13488 KiB