100 atcoder#ARC103A. [ABC111C] /\/\/\/

[ABC111C] /\/\/\/

配点 : 300300

問題文

数列 a1,a2,...,ana_1,a_2,... ,a_n が以下の条件を満たすとき、 //// と呼ぶことにします。

  • i=1,2,...,n2i = 1,2,..., n-2 について、ai=ai+2a_i = a_{i+2}
  • 数列に現れる数はちょうど 22 種類

偶数長の数列 v1,v2,...,vnv_1,v_2,...,v_n が与えられます。 要素をいくつか書き換えることでこの数列を //// にしたいです。 書き換える要素の数は最小でいくつになるか求めてください。

制約

  • 2n1052 \leq n \leq 10^5
  • nn は偶数
  • 1vi1051 \leq v_i \leq 10^5
  • viv_i は整数

入力

入力は以下の形式で標準入力から与えられる。

nn

v1v_1 v2v_2 ...... vnv_n

出力

書き換える要素数の最小値を出力してください。

4
3 1 3 2
1

数列 3,1,3,23,1,3,2 は //// ではありませんが、11 要素書き換えることで //// にすることができます。 例えば、44 要素目を書き換えて 3,1,3,13,1,3,1 とすればよいです。

6
105 119 105 119 105 119
0

数列 105,119,105,119,105,119105,119,105,119,105,119 は //// です。

4
1 1 1 1
2

数列 1,1,1,11,1,1,111 種類の数からなる数列であるため、 //// ではありません。