Codeforces Round 112 (Div. 2) |
---|
Закончено |
Два целых числа x и y называются совместимыми, если результат их побитового «И» равен нулю, то есть a & b = 0. Например, числа 90 (10110102) и 36 (1001002) совместимы, так как 10110102 & 1001002 = 02, а числа 3 (112) и 6 (1102) несовместимы, так как 112 & 1102 = 102.
Вам дан массив целых чисел a1, a2, ..., an. Требуется определить для каждого элемента массива, совместим ли этот элемент с каким-либо другим элементом из данного массива. В случае положительного ответа также требуется найти любой подходящей элемент.
В первой строке записано целое число n (1 ≤ n ≤ 106) — количество элементов в данном массиве. Во второй строке через пробел записаны n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 4·106) — элементы данного массива. Числа в массиве могут повторяться.
Выведите n целых чисел ansi. Если ai не совместимо ни с каким другим элементом данного массива a1, a2, ..., an, то ansi должно быть равно -1. Иначе ansi — любое такое число, что ai & ansi = 0, и при этом ansi содержится в массиве a1, a2, ..., an.
2
90 36
36 90
4
3 6 3 6
-1 -1 -1 -1
5
10 6 9 8 2
-1 8 2 2 8
Название |
---|