#P8301. Minimum Bit Flips for Permutation Matching

    ID: 21480 Type: Default 1000ms 256MiB

Minimum Bit Flips for Permutation Matching

Minimum Bit Flips for Permutation Matching

You are given two binary sequences a and b, each of length \(n\) consisting of 0s and 1s. You can perform the following operations in order:

  1. Flip Operation: Choose any number of elements in \(a\) and flip them (i.e. change 0 to 1 and 1 to 0).
  2. Permutation: Rearrange the sequence \(a\) arbitrarily.

After performing these operations, you need the resulting sequence \(a\) to match sequence \(b\) exactly (i.e. \(a_i = b_i\) for all \(1 \le i \le n\)). Determine the minimum number of flip operations required.

The key observation is that since you are allowed to permute \(a\) arbitrarily, the only thing that matters is the number of 1s in the final sequence \(a\). Therefore, you need to adjust the count of 1s in \(a\) to match the count of 1s in \(b\) by flipping the appropriate bits.

If we let \(A_1\) be the number of 1s in \(a\) and \(B_1\) be the number of 1s in \(b\), then the minimum number of flips required is:

[ \text{answer} = |A_1 - B_1| ]

inputFormat

The first line contains a single integer \(n\) (the length of the sequences). The second line contains \(n\) space-separated integers (each 0 or 1) representing the sequence \(a\). The third line contains \(n\) space-separated integers (each 0 or 1) representing the sequence \(b\).

outputFormat

Output a single integer: the minimum number of flips required to make sequence \(a\) match sequence \(b\) after an arbitrary permutation.

sample

2
0 1
1 0
0