A. Tổng XOR lớn nhất (Mã bài: SXOR)

Bộ nhớ: 256 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

Đề bài

Cho dãy số nguyên dương A = (a_1, a_2, ..., a_n) , ta gọi tổng XOR của nó là

a_1 \text{ XOR } a_2 \text{ XOR } ... \text{ XOR } a_n

Yêu cầu: Chọn một dãy con của A sao cho tổng XOR của dãy con này là lớn nhất.

Dữ liệu:

  • Dòng đầu chứa số nguyên dương n \le 10^5 ;
  • Dòng thứ hai chứa n số nguyên dương a_1, a_2, ..., a_n ( \forall i: a_i \le 10^{18} ).

Kết quả: Ghi ra chỉ số những phần tử được chọn trên một dòng cách nhau bởi dấu cách.

Ví dụ:

Dữ liệu:

4
1 2 4 5

Kết quả:

4 2

Dữ liệu:

5
14 8 13 6 10

Kết quả:

1 3 4 5

Giải thích: ví dụ 1: a[4] \text{ XOR } a[2] = 7 là tổng XOR lớn nhất có thể chọn được