Orig Description
Score : 300 points
Problem StatementA sequence a_1,a_2,... ,a_n is said to be /\/\/\/ when the following conditions are satisfied:
For each i = 1,2,..., n-2, a_i = a_{i+2}.
Exactly two different numbers appear in the sequence.
You are given a sequence v_1,v_2,...,v_n whose length is even.
We would like to make this sequence /\/\/\/ by replacing some of its elements.
Find the minimum number of elements that needs to be replaced.
Constraints
2 \leq n \leq 10^5
n is even.
1 \leq v_i \leq 10^5
v_i is an integer.
InputInput is given from Standard Input in the following format:
n
v_1 v_2 ... v_n
OutputPrint the minimum number of elements that needs to be replaced.
Sample Input 14
3 1 3 2
Sample Output 11
The sequence 3,1,3,2 is not /\/\/\/, but we can make it /\/\/\/ by replacing one of its elements: for example, replace the fourth element to make it 3,1,3,1.
Sample Input 26
105 119 105 119 105 119
Sample Output 20
The sequence 105,119,105,119,105,119 is /\/\/\/.
Sample Input 34
1 1 1 1
Sample Output 32
The elements of the sequence 1,1,1,1 are all the same, so it is not /\/\/\/.
Extracted Specification
An integer N (2 ≤ N ≤ 10^5), representing some quantity or size.
A list of integers V of size N, where each integer is between 1 and 1e5.
### Example Input:
```
4
3 1 3 2
```
### Function Signature:
Write a function f(N, V) that takes in the input.
```python
def f(N: int, V: List[int]):
'''
N: an integer
V: a list of integers
'''
```
Test Case Generator
Sure, here is a test case generator for the given problem statement:
```python
import random
def tcgen():
# Generate a random even number for n within the given constraints
n = random.randint(1, 5 * 10**4) * 2
# Generate the sequence v with length n where each element is between 1 and 10^5
v = [random.randint(1, 10**5) for _ in range(n)]
return n, v
# Example usage:
# This will generate a test case with n and v
n, v = tcgen()
print(n)
print(" ".join(map(str, v)))
```
To explain this generator:
1. **n**: We generate a random even number \( n \) within the constraint \( 2 \leq n \leq 10^5 \). Since \( n \) must be even, we generate a number in the range \( 1 \) to \( 5 \times 10^4 \) and multiply it by 2.
2. **v**: We generate a list \( v \) of length \( n \) where each element is a random integer between 1 and \( 10^5 \).
This generator produces valid inputs for the problem ensuring that the constraints are respected.
Extract Arguments
def extract_arguments(fh):
n = int(fh.readline().strip())
v = list(map(int, fh.readline().strip().split()))
return n, v