Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Giá trị hòa hợp

Dễ

  • 100 Điểm
  • 0% Tỉ lệ AC
  • 0 Số AC
  • 256M Bộ nhớ giới hạn
  • 1.0s Giới hạn thời gian

Trong một thế giới khoa học viễn tưởng, các nhà nghiên cứu đang tìm cách đo lường "độ hòa hợp" giữa các tế bào năng lượng. Mỗi tế bào năng lượng được biểu diễn bằng một số nguyên không âm \(a_i\). Độ hòa hợp giữa hai tế bào (\(a_i, a_j\)) được định nghĩa là phép toán XOR giữa hai giá trị của chúng, tức là \(a_i \oplus a_j\).

Một nhà khoa học đã thu thập được một dãy gồm \(n\) tế bào năng lượng và muốn tìm ra cặp tế bào có độ hòa hợp lớn nhất để phục vụ cho thí nghiệm của mình. Tuy nhiên, việc kiểm tra tất cả các cặp tế bào là một công việc tốn thời gian.

Bạn là một lập trình viên tài năng, được giao nhiệm vụ xây dựng một chương trình để giúp nhà khoa học này tìm ra giá trị hòa hợp lớn nhất một cách hiệu quả.

Yêu cầu:
Cho một dãy \(n\) số nguyên không âm \(a_1, a_2, ..., a_n\). Hãy tìm giá trị lớn nhất của \(a_i \oplus a_j\) với \(1 \le i < j \le n\).

Input

  • Dòng đầu tiên chứa số nguyên \(T\) \((T < 10)\), là số lượng bộ dữ liệu.
  • Tiếp theo là \(T\) dòng, mỗi dòng tương ứng với một bộ dữ liệu:

  • Số đầu tiên là số nguyên \(n\) \((n \le 10^5)\).

  • Tiếp theo là \(n\) số nguyên không âm \(a_1, a_2, ..., a_n\) \((0 \le a_i \le 1.5 \times 10^9)\).

Output

  • Gồm \(T\) dòng, mỗi dòng chứa một số là giá trị hòa hợp lớn nhất tìm được tương ứng với bộ dữ liệu vào.

Example

Test 1

Input
2
3 1 2 3
3 2 4 6
Output
3
6

Scoring

  • Subtask \(1\) (\(30\%\) số điểm) : \(n \leq 1000\).
  • Subtask \(2\) (\(30\%\) số điểm) : \(a[i] = 2^k\).
  • Subtask \(3\) (\(40\%\) số điểm) : không có ràng buộc gì thêm.

Bình luận

Chưa có bình luận nào.