Giá trị xor lớn nhất
Submit solution
Points:
4
Time limit:
1.0s
Java 10
1.5s
Memory limit:
244M
Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Cho một mảng số nguyên A gồm n phần tử và một danh sách Q gồm m truy vấn là các số nguyên. Nhiệm vụ của bạn là tìm giá trị lớn nhất của \(Q_j\) ^ \(A_i\) trong đó \(0 \le j < m, 0 \le i < n\) và ký hiệu ^ là phép toán XOR của hai số nguyên.
Input:
- Dòng đầu tiên là số nguyên N là độ dài của mảng.
- Dòng thứ hai gồm N số nguyên \(A_i\).
- Dòng thứ ba gồm một số nguyên M là số lượng truy vấn.
- M dòng tiếp theo mỗi dòng gồm một số nguyên \(Q_j\).
- Trong đó: \((1 \le N, M \le 10^5 )\), \((1 \le A_i, Q_j \le 10^9)\)
Output:
Gồm M dòng với mỗi dòng là kết quả của từng truy vấn.
Example:
Input:
3
0 1 2
3
3
7
2
Output:
3
7
3
Explanation:
A = [0, 1, 2]
\(Q_0\) = 3
- 3 ^ 0 = 3 -> max = 3
- 3 ^ 1 = 2 -> max = 3
- 3 ^ 2 = 1 -> max = 3
\(Q_1\) = 7
- 7 ^ 0 = 7 -> max = 7
- 7 ^ 1 = 6 -> max = 7
- 7 ^ 2 = 5 -> max = 7
\(Q_2\) = 2
- 2 ^ 0 = 2 -> max = 2
- 2 ^ 1 = 3 -> max = 3
- 2 ^ 2 = 0 -> max = 3
Example 2:
Input:
5
5 1 7 4 3
2
2
0
Output:
7
7
Comments
Chặt nhị phân chăng?
e dùng Trie