#abc290e. [abc290_e]Make it Palindrome

[abc290_e]Make it Palindrome

题目描述

对于一个序列XX,定义f(X)=f(X) =(使XX成为回文所需修改的最小元素数)。

给定长度为NN的序列AA,找出AA的所有连续子数组f(X)f(X)的和。

这里,一个长度为mm的序列XX被称为回文序列,当且仅当对于1im1 \le i \le mXX的第ii个元素和第(m+1i)(m+1-i)个元素相等。

约束条件

  • 输入中的所有值都是整数。
  • 1N2×1051 \le N \le 2 \times 10^5
  • 1AiN1 \le A_i \le N

输入

输入的格式如下,从标准输入读取:

NN A1A_1 A2A_2 \dots ANA_N

输出

打印一个整数作为答案。

示例输入1

5
5 2 1 2 2

示例输出1

9
  • f(5)=0f(5) = 0
  • f(2)=0f(2) = 0
  • f(1)=0f(1) = 0
  • f(2)=0f(2) = 0
  • f(2)=0f(2) = 0
  • f(5,2)=1f(5,2) = 1
  • f(2,1)=1f(2,1) = 1
  • f(1,2)=1f(1,2) = 1
  • f(2,2)=0f(2,2) = 0
  • f(5,2,1)=1f(5,2,1) = 1
  • f(2,1,2)=0f(2,1,2) = 0
  • f(1,2,2)=1f(1,2,2) = 1
  • f(5,2,1,2)=2f(5,2,1,2) = 2
  • f(2,1,2,2)=1f(2,1,2,2) = 1
  • f(5,2,1,2,2)=1f(5,2,1,2,2) = 1

所以,答案为99