AT_aalc001_u.Second

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

对于长度为 MM 的序列 B=(B1,B2,…,BM)B=(B_1,B_2,\ldots,B_M),令 C=(C1,C2,…,CM)C=(C_1,C_2,\ldots,C_M) 为其按升序排序后得到的序列。当 M≥4M\geq 4 时,定义 BB 的得分为 CM−1−C2C_{M-1}-C_2。

给定一个长度为 NN(4≤N4\leq N)的非负整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N)。将 AA 划分为 11 个或多个连续子序列,且每个子序列的长度至少为 44。

求所有划分所得连续子序列的得分之和的最大可能值。

每个输入文件包含 TT 个测试用例。请解决全部测试用例。

输入格式

输入从标准输入给出,格式如下:

TT
case1\mathrm{case}_1
case2\mathrm{case}_2
⋮\vdots
caseT\mathrm{case}_T

每个测试用例的格式如下:

NN
A1A_1 A2A_2 …\ldots ANA_N

输出格式

输出 TT 行。第 ii 行应包含第 ii 个测试用例的答案。

输入输出样例

  • 输入#1

    3
    4
    1 2 10 20
    8
    0 0 1 1 0 0 1 1
    5
    5 5 5 5 5

    输出#1

    8
    2
    0
  • 输入#2

    1
    12
    9 1 8 3 7 2 6 4 5 0 10 2

    输出#2

    10
  • 输入#3

    2
    9
    1000000000 0 7 6 5 4 3 2 1
    11
    4 9 1 8 2 7 3 6 0 5 10

    输出#3

    6
    10

说明/提示

样例 1 解释:
对于测试用例 11,将整个序列作为 11 个连续子序列。将其按升序排序后得到 (1,2,10,20)(1,2,10,20),因此其得分为 10−2=810-2=8。这是最大值。

对于测试用例 22,将 AA 划分为 (0,0,1,1)(0,0,1,1) 和 (0,0,1,1)(0,0,1,1),总得分为 22。这是最大值。

约束条件

  • 1≤T≤1051 \leq T \leq 10^5
  • 4≤N≤4×1054 \leq N \leq 4 \times 10^5
  • 0≤Ai≤1090 \leq A_i \leq 10^9
  • 单个输入文件中所有测试用例的 NN 之和不超过 4×1054 \times 10^5。
  • 输入中的所有数值均为整数。

输入解题思路,AI测评打分。不知道怎么写?

首页