実行時間制限: 2 sec / メモリ制限: 1024 MB
配点 : 300 点
問題文
数列 a_1,a_2,... ,a_n が以下の条件を満たすとき、 /\/\/\/ と呼ぶことにします。
- 各 i = 1,2,..., n-2 について、a_i = a_{i+2}
- 数列に現れる数はちょうど 2 種類
偶数長の数列 v_1,v_2,...,v_n が与えられます。 要素をいくつか書き換えることでこの数列を /\/\/\/ にしたいです。 書き換える要素の数は最小でいくつになるか求めてください。
制約
- 2 \leq n \leq 10^5
- n は偶数
- 1 \leq v_i \leq 10^5
- v_i は整数
入力
入力は以下の形式で標準入力から与えられる。
n v_1 v_2 ... v_n
出力
書き換える要素数の最小値を出力してください。
入力例 1
4 3 1 3 2
出力例 1
1
数列 3,1,3,2 は /\/\/\/ ではありませんが、1 要素書き換えることで /\/\/\/ にすることができます。 例えば、4 要素目を書き換えて 3,1,3,1 とすればよいです。
入力例 2
6 105 119 105 119 105 119
出力例 2
0
数列 105,119,105,119,105,119 は /\/\/\/ です。
入力例 3
4 1 1 1 1
出力例 3
2
数列 1,1,1,1 は 1 種類の数からなる数列であるため、 /\/\/\/ ではありません。
Score : 300 points
Problem Statement
A 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.
Input
Input is given from Standard Input in the following format:
n v_1 v_2 ... v_n
Output
Print the minimum number of elements that needs to be replaced.
Sample Input 1
4 3 1 3 2
Sample Output 1
1
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 2
6 105 119 105 119 105 119
Sample Output 2
0
The sequence 105,119,105,119,105,119 is /\/\/\/.
Sample Input 3
4 1 1 1 1
Sample Output 3
2
The elements of the sequence 1,1,1,1 are all the same, so it is not /\/\/\/.