#4865. 移除盒子

移除盒子

题目描述

给出 nn 个不同颜色的盒子 boxesboxes ,盒子的颜色由不同的正数表示。

你将经过若干轮操作去去掉盒子,直到所有的盒子都去掉为止。每一轮你可以移除具有相同颜色的连续 kk 个盒子(k >=1k >= 1),这样一轮之后你将得到 kkk * k 个积分。

返回 你能获得的最大积分和  。

输入格式

第一行一个整数 nn

第二行 nn 个空格分开的整数表示盒子的颜色。

输出格式

一行一个整数表示答案。

示例 1:

9
1 3 2 2 2 3 4 3 1
23

解释:

[1, 3, 2, 2, 2, 3, 4, 3, 1]

----> [1, 3, 3, 4, 3, 1] (3*3=9 分)

----> [1, 3, 3, 3, 1] (1*1=1 分)

----> [1, 1] (3*3=9 分)

----> [] (2*2=4 分)

示例 2:

3
1 1 1
9

示例 3:

1
1
1

提示:

  • 1<=boxes.length<=1001 <= boxes.length <= 100
  • 1<=boxes[i] <=1001 <= boxes[i] <= 100

SOURCE

移除盒子