2590 | 2023-01-17 20:43:23 | kristof | IntervallumXOR kihívás | python3 | Time limit exceeded 35/100 | 552ms | 28448 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 = 40000
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")
Subtask | Sum | Test | Verdict | Time | Memory | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Accepted | 17ms | 11368 KiB | ||||
subtask2 | 15/15 | ||||||
2 | Accepted | 26ms | 11992 KiB | ||||
subtask3 | 0/15 | ||||||
3 | Time limit exceeded | 504ms | 27992 KiB | ||||
subtask4 | 20/20 | ||||||
4 | Accepted | 17ms | 11996 KiB | ||||
subtask5 | 0/50 | ||||||
5 | Time limit exceeded | 552ms | 28316 KiB | ||||
6 | Time limit exceeded | 550ms | 28448 KiB |