QOJ.ac

QOJ

Süre Sınırı: 1.0 s Bellek Sınırı: 512 MB Toplam puan: 100 Hack'lenebilir ✓

#15320. Gemcrate

İstatistikler

Noir มีอัญมณี $n$ ชิ้น อัญมณีชิ้นที่ $i$ มีจำนวนเต็มบวก $a_i$ เขียนอยู่ Noir ต้องการแบ่งอัญมณีเหล่านี้ออกเป็นหลายๆ กลุ่มโดยที่แต่ละกลุ่มไม่เป็นกลุ่มว่าง อัญมณีแต่ละชิ้นจะต้องอยู่ในกลุ่มเดียวเท่านั้น

สมมติว่ากลุ่มที่ $i$ ประกอบด้วยอัญมณีที่มีหมายเลข $k_{i,1}, k_{i,2}, \dots, k_{i,p}$ แล้ว Noir จะถือว่า ความสว่าง ของกลุ่มที่ $i$ คือ $a_{k_{i,1}} \oplus a_{k_{i,2}} \oplus \cdots \oplus a_{k_{i,p}}$ โดยที่ $\oplus$ คือการดำเนินการ XOR ระดับบิต (bitwise-XOR) ให้เขียนแทน ความสว่าง ของกลุ่มที่ $i$ ด้วย $B_i$

สำหรับวิธีการจัดกลุ่มออกเป็น $m$ กลุ่ม Noir จะถือว่า คุณค่า ของวิธีการนี้คือ $B_1 \& B_2 \& \dots \& B_m$ โดยที่ $\&$ คือการดำเนินการ AND ระดับบิต (bitwise-AND)

Noir ต้องการหา คุณค่า ที่มากที่สุดที่เป็นไปได้จากวิธีการจัดกลุ่มทั้งหมด

ข้อมูลนำเข้า

ข้อมูลนำเข้าประกอบด้วยหลายชุดทดสอบ บรรทัดแรกของข้อมูลนำเข้าประกอบด้วยจำนวนเต็ม $T$ ($1 \le T \le 10^4$) คือจำนวนชุดทดสอบ

สำหรับแต่ละชุดทดสอบ บรรทัดแรกประกอบด้วยจำนวนเต็ม $n$ ($1 \le n \le 5 \times 10^5$) คือจำนวนอัญมณี

บรรทัดที่สองประกอบด้วยจำนวนเต็ม $n$ จำนวน $a_1, a_2, \cdots, a_n$ ($1 \le a_i < 2^{60}$) คือจำนวนเต็มที่เขียนอยู่บนอัญมณี

รับประกันว่าผลรวมของ $n$ ในทุกชุดทดสอบจะไม่เกิน $5 \times 10^5$

ข้อมูลส่งออก

สำหรับแต่ละชุดทดสอบ ให้พิมพ์จำนวนเต็มหนึ่งจำนวนที่แทน คุณค่า ที่มากที่สุดที่เป็นไปได้จากวิธีการจัดกลุ่มทั้งหมด

ตัวอย่าง

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

หมายเหตุ

สำหรับชุดทดสอบแรก วิธีการจัดกลุ่มที่เป็นไปได้วิธีหนึ่งคือ $[1, 2, 3, 1] = [1, 3], [2, 1]$ ซึ่งมีคุณค่าเท่ากับ $B_1 \& B_2 = (1 \oplus 3) \& (2 \oplus 1) = 2 \& 3 = 2$ อีกวิธีการจัดกลุ่มที่เป็นไปได้คือ $[1, 2, 3, 1] = [1, 2, 3, 1]$ ซึ่งมีคุณค่าต่ำกว่าคือ $B_1 = 1 \oplus 2 \oplus 3 \oplus 1 = 1$ สามารถพิสูจน์ได้ว่าเป็นไปไม่ได้ที่จะทำให้ได้คุณค่ามากกว่า $2$

สำหรับชุดทดสอบที่สอง วิธีการจัดกลุ่มที่ดีที่สุดคือ $[4, 7, 5, 2, 6, 3] = [7], [5, 3], [6], [4, 2]$ ซึ่งมีคุณค่าเท่ากับ $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.