#1524. 神秘之石

神秘之石

题目描述

古老的魔法遗迹中,从左到右排列着 nn 块神秘之石。

ii 块石头上刻着一个整数 aia_i,表示这块石头的种类。

现在你要进行一次消除仪式。每次操作时,你可以选择当前序列中两块种类相同的石头,将它们同时消除。

假设这两块石头在当前序列中的位置分别为 xxyy,其中 x<yx<y,那么本次操作会获得 yxy-x 点能量。

消除后,剩余石头会保持原来的相对顺序,并重新从左到右编号为 1,2,3,1,2,3,\ldots

你可以按照任意顺序进行消除,直到当前序列中不存在两块种类相同的石头为止。

请你求出,在最优的消除顺序下,最多可以获得多少能量。

注意:不一定所有石头都会被消除。最终每种石头最多只会剩下一块。

输入格式

第一行一个整数 nn,表示石头数量。

第二行 nn 个整数 a1,a2,,ana_1,a_2,\ldots,a_n,表示从左到右每块石头的种类。

输出格式

输出一个整数,表示最多可以获得的总能量。

样例 #1

样例输入 #1

6
1 2 1 2 1 2

样例输出 #1

7

样例解释 #1

初始序列为:

1 2 1 2 1 2

一种最优操作方式如下:

  1. 消除第 11 块和第 55 块石头,它们的种类都是 11,获得能量 51=45-1=4

    剩余序列为:

    2 1 2 2
    
  2. 消除当前序列中的第 11 块和第 44 块石头,它们的种类都是 22,获得能量 41=34-1=3

    剩余序列为:

    1 2
    

此时不存在两块种类相同的石头,仪式结束。

总能量为:

4+3=74+3=7

可以证明,最大总能量为 77

样例 #2

样例输入 #2

10
1 2 3 1 1 2 2 2 2 3

样例输出 #2

17

数据范围与子任务

对于所有测试点,满足:

1n5×1051 \le n \le 5\times 10^5 1ain1 \le a_i \le n

答案可能较大,请使用 64 位整数存储。

本题采用子任务评分。

子任务编号 nn \le 特殊性质 分值
11 1010 ai2a_i \le 2 55
22 无特殊性质
33 5050 ai3a_i \le 3
44 无特殊性质
55 300300 ai5a_i \le 5 1010
66 无特殊性质
77 30003000
88 5×1055\times 10^5 每种数最多出现 22 1515
99 每种数的所有出现位置构成一个连续区间 1010
1010 ai5a_i \le 5 2020
1111 无特殊性质 55

相关

在下列比赛中:

test