Қарапайым жұптастық


Шешімді жөнелту

Ұпайлар: 1
Уақыт шектеуі: 2.0s
Жад шектеуі: 512M

Author:
Problem type
Рұқсат етілген тілдер
Assembly, Awk, Brain****, C, C++, Go, Java, Kotlin, Pascal, Perl, PHP, Python, Sed, Text

Екі массив \(A\) және \(B\) берілген, әрқайсысы \(n\) саннан тұрады.

Массив \(A\) элементтерін массив \(B\) элементтерімен сәйкестендіру қажет.

  • Әр элементті бір реттен артық қолдануға болмайды.

  • \((A_i, B_j)\) жұбының құны \(A_i \oplus B_j\) (биттік XOR) тең.

Әр \(k = 1, 2, \dots, n\) үшін, \(k\) қайталанбайтын жұптарды (индекстерді қайталамай) таңдау мүмкін болатын минималды \(X\) санын табу қажет, және таңдалған әр жұп үшін: \[A_i \oplus B_j \le X.\]

Яғни, әр \(k\) үшін \(k\) түрлі жұптар арасындағы XOR-дың минималды мүмкін максималды мәнін анықтау қажет.

Енгізу

Бірінші жолда бір бүтін сан \(n\) (\(1 \le n \le 10^5\)) берілген.

Екінші жолда \(n\) бүтін сан \(A_1, A_2, \dots, A_n\) (\(0 \le A_i < 2^{20}\)) бар.

Үшінші жолда \(n\) бүтін сан \(B_1, B_2, \dots, B_n\) (\(0 \le B_i < 2^{20}\)) бар.

Шығару

\(n\) бүтін сан \(X_1, X_2, \dots, X_n\) шығарыңыз, мұнда \(X_k\) — \(A_i \oplus B_j \le X\) шартымен \(k\) қайталанбайтын жұптарды таңдауға болатын минималды \(X\) мәні.

Мысалдар

Енгізу 1
3
2 2 2
1 2 3
Жауап 1
0 1 3
Енгізу 2
2
1 5
1 3
Жауап 2
0 4