D. 最大和

    传统题 1000ms 256MiB

最大和

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

有一个长度为 nn 的数组 aa,但是 aa 中可能存在一些负数会使得 aa 的总和不够大。现在你希望总和尽可能大,你可以做以下两种操作任意次(也可以不做):

  • 选择两个相邻的数字 aia_iai+1a_{i+1}1i<n1\leq i<n),将其删除,其余数字顺次拼接起来。(换句话说数组 aa 会变为 (a1,a2,,ai1,ai+2,,an)(a_1,a_2,\cdots,a_{i-1},a_{i+2},\cdots,a_n))。
  • 选择三个连续的数字 ai,ai+1,ai+2a_i,a_{i+1},a_{i+2}1in21\leq i\leq n-2),将其删除,其余数字顺次拼接起来。

现在你需要求出数组 aa 最大的总和可能是多少。

输入格式

第一行输入一个整数 nn

接下来一行输入 nn 个空格隔开的整数分别代表 a1,a2,,ana_1,a_2,\cdots,a_n

输出格式

对于每一组数据,在单独一行中输出最终剩余元素的可能最大值。

12
1 3 -2 -1 -4 -1 -2 5 -4 15 -10 9
20
5
1 2 3 4 5
15
1
1
1

提示

样例 1 解释

在第一组数据中,序列 aa 原本为 [1, 3, -2, -1, -4, -1, -2, 5, -4, 15, -10, 9]

  • 首先可以删除 2,1-2,-1,序列变为 [1, 3, -4, -1, -2, 5, -4, 15, -10, 9]

  • 然后删除 4,1,2-4,-1,-2 可以得到 [1, 3, 5, -4, 15, -10, 9]

  • 然后删除 10,9-10,9 可以得到 [1, 3, 5, -4, 15]

此时序列的总和最大为 2020

数据范围

对于 100%100\% 的数据,1n21051\leq n\leq 2\cdot 10^5109ai109-10^9\leq a_i\leq 10^9

  • 子任务 1(30 分):保证 ai>0a_i>0
  • 子任务 2(30 分):保证 n20n\leq 20
  • 子任务 3(40 分):没有特殊限制。

算法周赛 - round15

未参加
状态
已结束
规则
乐多
题目
4
开始于
2025-4-6 19:00
结束于
2025-4-6 21:00
持续时间
2 小时
主持人
参赛人数
25