logo AlgoBeat OnlineJudge
登录 注册

#213815. 「KFCOI Round #2」卡常题

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

由于「神」被卡常了,于是决定卡卡别人。


现在「神」出了一道数据结构题。

给你一个长度为 的整数序列 ,并保证 。 你需要使用 odt 进行 次神奇的操作,每次操作的对象是

众所周知,odt 的时间复杂度是基于区间颜色段数量的,不妨假设每次操作的复杂度为区间极长连续相同颜色段的数量,即对于 ,其复杂度为 ,其中的“ ”为艾弗森括号

由于「神」喜欢卡常,作为数据制作人的你希望能够让所有 odt 操作的复杂度之和尽可能地大,因此你决定把「神」给你的序列中 个元素改为 中的某几个数。

当然,「神」想要知道你能把 odt 卡成什么样子。你需要对于每个 ,给出更改后其所有操作的复杂度之和的最大值。

输入格式

第一行 个整数
第二行 个整数,第 个整数为
接下来 行,每行 个整数

输出格式

行,第 行为 时的答案。

样例

样例输入 1

11 3 3 4
1 1 2 1 2 3 1 1 1 2 2
2 6
3 11
5 9
8 11

样例输出 1

16
21
23
23

样例输入 2

4 3 2 1
2 2 2 2
1 3

样例输出 2

1
3
3

数据范围与提示

样例 1 解释

时,所有操作的复杂度之和最大为
时,修改 是一种最优的方案,此时的答案为
时,修改 是一种最优的方案,此时的答案为

数据范围

本题采用捆绑测试。

  • Subtask 1(15 pts):
  • Subtask 2(5 pts):
  • Subtask 3(10 pts):
  • Subtask 4(30 pts):
  • Subtask 5(10 pts):
  • Subtask 6(30 pts):无特殊限制。

对于所有数据,