atcoder#ABC206D. [ABC206D] KAIBUNsyo

[ABC206D] KAIBUNsyo

配点 : 400400

問題文

NN 項からなる正整数列 A=(A1,A2,AN)A=(A_1,A_2, \dots A_N) が与えられます。 以下の操作を 00 回以上何度でも行える時、操作を最小何回行えば、AA を回文にすることができますか?

  • ある正整数の組 (x,y)(x,y) を選ぶ。その後、現在 AA に含まれる xx をすべて yy に置き換える。

なお、この問題では、全ての整数 ii (1iN1 \le i \le N) について、Ai=AN+1iA_i=A_{N+1-i} が成り立つとき、またその時に限って、AA が回文であると言います。

制約

  • 入力は全て整数
  • 1N2×1051 \le N \le 2 \times 10^5
  • 1Ai2×1051 \le A_i \le 2 \times 10^5

入力

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

NN

A1A_1 A2A_2 \dots ANA_N

出力

答えを整数として出力せよ。

8
1 5 3 2 5 2 3 1
2
  • はじめ、A=(1,5,3,2,5,2,3,1)A=(1,5,3,2,5,2,3,1) です。
  • AA に含まれる 33 を全て 22 に置き換えると、A=(1,5,2,2,5,2,2,1)A=(1,5,2,2,5,2,2,1) となります。
  • AA に含まれる 22 を全て 55 に置き換えると、A=(1,5,5,5,5,5,5,1)A=(1,5,5,5,5,5,5,1) となります。

以上の操作を行うと、AA22 回の操作で回文にすることができ、これが最小です。

7
1 2 3 4 1 2 3
1
1
200000
0

AA がはじめから回文である可能性もあります。