#733. Số tương thích (COMPATNUM)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: Trình chấm ngoài
Đưa lên bởi: Trùm CUỐI

Đề bài

Cho một mảng a gồm n số nguyên a_1, a_2, \dots, a_n . Với mỗi phần tử a_i trong mảng, hãy tìm một phần tử a_j nào đó trong mảng (có thể i=j ) sao cho a_i \ \& \ a_j = 0 (phép AND bitwise bằng 0). Nếu có nhiều a_j thỏa mãn, bạn có thể chọn bất kỳ. Nếu không có a_j nào thỏa mãn, hãy báo cáo là -1.

Dữ liệu:

  • Dòng đầu tiên chứa số nguyên n ( 1 \le n \le 10^6 ).
  • Dòng thứ hai chứa n số nguyên phân biệt a_1, a_2, \dots, a_n ( 1 \le a_i \le 4 \cdot 10^6 ).

Kết quả: In ra n số nguyên, số thứ i là giá trị a_j tương ứng tìm được cho a_i .

Ví dụ:

Dữ liệu:

2
3 6

Kết quả:

-1 -1