问题 D: [CSP-S 2024] 擂台游戏

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:0 解决:0

题目描述

给定一个长度为  的正整数数组 ,其中所有数从左至右排成一排。

你需要将  中的每个数染成红色或蓝色之一,然后按如下方式计算最终得分:

设  为长度为  的整数数组,对于  中的每个数 ):

  • 如果  左侧没有与其同色的数,则令 
  • 否则,记其左侧与其最靠近的同色数为 ,若 ,则令 ,否则令 

你的最终得分为  中所有整数的和,即 。你需要最大化最终得分,请求出最终得分的最大值。

【样例 1 解释】

共有  组数据,这里只解释第一组。 名选手的真实能力值为  组询问分别是对长度为  的前缀进行的。

  1. 对于长度为  的前缀,由于只有  号一个人,因此答案为 
  2. 对于长度为  的前缀,由于  个人已经是  的幂次,因此不需要进行扩充。根据抽签  可知  号为擂主,由于 ,因此  号获胜,答案为 
  3. 对于长度为  的前缀,首先  号、 号比赛是  号获胜(因为 ,故  号为擂主,),然后虽然  号能力值还不知道,但  号、 号比赛一定是  号获胜(因为 ,故  号为擂主,),而决赛  号、 号谁获胜都有可能(因为 ,故  号为擂主,如果  则  号获胜, 则  号获胜)。综上所述,答案为 
  4. 对于长度为  的前缀,我们根据上一条的分析得知,由于  ,所以决赛获胜的是  号。
  5. 对于长度为  的前缀,可以证明,可能获胜的选手包括  号、 号、 号,答案为 

因此,该组测试数据的答案为 

【数据范围】

对于所有测试数据,保证:

测试点 特殊性质 A 特殊性质 B

特殊性质 A:保证询问的  均为  的幂次。

特殊性质 B:保证所有的 

输入

本题有多组测试数据。

输入的第一行包含一个正整数 ,表示数据组数。

接下来包含  组数据,每组数据的格式如下:

第一行包含一个正整数 ,表示数组长度。

第二行包含  个正整数 ,表示数组  中的元素。

输出

对于每组数据:输出一行包含一个非负整数,表示最终得分的最大可能值。

样例输入 复制

3
3
1 2 1
4
1 2 3 4
8
3 5 2 5 1 2 1 4

样例输出 复制

1
0
8