QOJ.ac

QOJ

時間限制: 1.0 s 記憶體限制: 512 MB 總分: 100 可 Hack ✓

#15320. Gemcrate

统计

Noir có $n$ viên ngọc. Viên ngọc thứ $i$ có một số nguyên dương $a_i$ được viết trên đó. Noir muốn chia những viên ngọc này thành một số nhóm khác rỗng. Mỗi viên ngọc thuộc về đúng một nhóm.

Giả sử nhóm thứ $i$ chứa các viên ngọc có nhãn $k_{i,1}, k_{i,2}, \dots, k_{i,p}$, khi đó Noir coi độ sáng của nhóm thứ $i$ là $a_{k_{i,1}} \oplus a_{k_{i,2}} \oplus \cdots \oplus a_{k_{i,p}}$, trong đó $\oplus$ là phép toán XOR theo bit. Ký hiệu độ sáng của nhóm thứ $i$ là $B_i$.

Đối với một cách chia gồm $m$ nhóm, Noir coi giá trị của cách chia này là $B_1 \& B_2 \& \dots \& B_m$, trong đó $\&$ là phép toán AND theo bit.

Noir muốn tìm giá trị lớn nhất có thể trên tất cả các cách chia nhóm.

Dữ liệu vào

Dữ liệu vào gồm nhiều bộ kiểm tra. Dòng đầu tiên của dữ liệu vào chứa một số nguyên $T$ ($1 \le T \le 10^4$), số lượng bộ kiểm tra.

Với mỗi bộ kiểm tra, dòng đầu tiên chứa một số nguyên $n$ ($1 \le n \le 5 \times 10^5$), số lượng viên ngọc.

Dòng thứ hai chứa $n$ số nguyên $a_1, a_2, \cdots, a_n$ ($1 \le a_i < 2^{60}$), các số nguyên được viết trên các viên ngọc.

Dữ liệu đảm bảo rằng tổng của $n$ trên tất cả các bộ kiểm tra không vượt quá $5 \times 10^5$.

Kết quả

Với mỗi bộ kiểm tra, in ra một số nguyên biểu thị giá trị lớn nhất có thể trên tất cả các cách chia nhóm.

Ví dụ

4
4
1 2 3 1
6
4 7 5 2 6 3
4
14 15 9 18
2
251508091405 13011908091815
2
6
26
13121614001578

Ghi chú

Ở bộ kiểm tra đầu tiên, một cách chia nhóm khả dĩ là $[1, 2, 3, 1] = [1, 3], [2, 1]$ với giá trị là $B_1 \& B_2 = (1 \oplus 3) \& (2 \oplus 1) = 2 \& 3 = 2$. Một cách chia nhóm khả dĩ khác là $[1, 2, 3, 1] = [1, 2, 3, 1]$, với giá trị thấp hơn là $B_1 = 1 \oplus 2 \oplus 3 \oplus 1 = 1$. Có thể chứng minh rằng không thể đạt được giá trị lớn hơn $2$.

Ở bộ kiểm tra thứ hai, cách chia nhóm tốt nhất là $[4, 7, 5, 2, 6, 3] = [7], [5, 3], [6], [4, 2]$ với giá trị là $7 \& (5 \oplus 3) \& 6 \& (4 \oplus 2) = 6$.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.