Nghịch thế XOR

Đề bài

Mô tả

Cho mảng a gồm n số nguyên không âm. Bạn cần chọn một số nguyên không âm x và tạo mảng mới b kích thước n theo quy tắc: với mọi i từ 1 đến n, bi=ai⊕x (với ⊕ là phép XOR bit).

Một nghịch thế trong mảng b là một cặp chỉ số (i,j) thoả mãn 1≤i<j≤n và bi>bj.

Hãy chọn x sao cho số nghịch thế của b là nhỏ nhất. Nếu có nhiều x cùng đạt được số nghịch thế nhỏ nhất, hãy in ra x nhỏ nhất.

Dữ liệu vào

  • Dòng đầu chứa một số nguyên n — số phần tử của mảng a.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an cách nhau bởi dấu cách.

Dữ liệu ra

In ra hai số nguyên cách nhau bởi dấu cách: số nghịch thế nhỏ nhất có thể đạt được, và giá trị x nhỏ nhất đạt được số nghịch thế đó.

Ràng buộc

  • 1≤n≤3·105
  • 0≤ai≤109

Ví dụ

Input Output Giải thích
4
0 1 3 2
1 0 Giữ nguyên mảng với x=0: b=[0,1,3,2], có 1 nghịch thế (3,2).
9
10 7 9 10 7 5 5 3 5
4 14 Chọn x=14: b=[4,9,7,4,9,11,11,13,11], có 4 nghịch thế.
3
8 10 3
0 8 Chọn x=8: b=[0,2,11], mảng đã được sắp tăng nên không có nghịch thế nào.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0