Maximizing expressions

3.2

33 votes
Problem

You are given three arrays \(A, B,\ and\ C\). All the three arrays consist of \(N\) integers.

You must perform the following operation on each index exactly one time:

\(Convert(i)\): Select a positive value \(D\) such that \(C_i\ \&\ D = D\), and update \(B_i = B_i \oplus D\).

Here, \(\oplus\) and \(\&\) denotes the bitwise XOR operation and bitwise AND operation.

You are required to maximize the following expression:

\(S = \sum_{i=1}^{n} A_i \oplus B_i\)    

Input format

  • First line: A single integer \(N\) denoting the number of elements of the array
  • Next line: \(N\) integers of array \(A\)
  • Next line: \(N\) integers of array \(B \)
  • Next line: \(N\) integers of array \(C\)

Output format
Print a single integer that denotes the maximum value of \(S\).

Constraints
\(1 \leq N \leq 10^5\)

\(1 \leq A_i, B_i, C_i < 2^{30}\)

Time Limit: 1
Memory Limit: 256
Source Limit:
Explanation

For \(i = 1\), we can chose \(D = 4\)
For \(i = 2\), we can chose \(D = 4\)
For \(i = 3\), we can chose \(D = 9\)

Editor Image

?