#P11743. Dynamic Array Problem
Dynamic Array Problem
题目描述
你有一个序列长度为 的序列 !初始时序列只有两端有隔板,其他位置没有。
你可以插入任意多个隔板,隔板不重合,且隔板不起到分割序列的作用。插入后,选择至多 对 可以不相邻 的隔板,将他们之间的序列元素翻转。它们之间的隔板的位置不受影响,只改变元素位置,要求一个元素至多被翻转一次。
如果两个隔板相邻且他们之间的元素下标是 到 ,则会对总贡献产生的权值为:。求操作后的总贡献的最大值。
输入格式
第一行两个整数 和 。
第二行 个整数表示最开始的序列 。
输出格式
输出一行整数,代表操作后总贡献的最大值。
提示
【样例解释 】
序列初始两端各有一个隔板。在序列第 个位置,第 个位置,第 个位置后添加隔板。并将第 个位置到第 位置中间的元素翻转。最后得到的序列权值为 。可以证明不存在比这更大的权值。
【样例解释 】
本题提供大样例,该数据满足 Subtask 3
的限制。具体求解不做解释。
【数据规模与约定】
本题开启子任务捆绑测试。本题自动开启 O2 优化。
- Subtask 1(15 pts):。
- Subtask 2(45 pts):。
- Subtask 3(40 pts):。
对于所有测试点满足 ,,。