Problem p03244 - Generation 1

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.
def f(n: int, v: List[int]):
    '''
    n: an integer
    v: a list of integers
    '''

Test Case Generator

Sure! Here's a test case generator for the given problem statement:

```python
import random

def generate_test_case():
    # Generate a random even number for N within the given constraints.
    N = random.randint(1, 5 * 10**4) * 2
    
    # Generate a list of integers for V with values within the given constraints.
    V = [random.randint(1, 10**5) for _ in range(N)]
    
    return N, V

def format_test_case(N, V):
    return f"{N}\n{' '.join(map(str, V))}\n"

# Example Usage
N, V = generate_test_case()
print(format_test_case(N, V))
```

This generator will create random test cases that adhere to the problem constraints. The `generate_test_case` function ensures that the length of the sequence `N` is even, and the elements of the sequence `V` are within the range [1, 100000]. The `format_test_case` function formats the generated test case in the required input format.

You can use the generated test cases to test the solution to the problem.

Extract Arguments

def extract_arguments(fh):
    n = int(fh.readline().strip())
    v = list(map(int, fh.readline().strip().split()))
    return n, v