传统题 1000ms 256MiB

最大上升子序列和

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

题目描述

一个数的序列 bib_i,当 b1<b2<<bSb_1 < b_2 < \dots < b_S 的时候,我们称这个序列是上升的。 对于给定的一个序列 (a1,a2,,aN)(a_1, a_2, \dots, a_N),我们可以得到一些上升的子序列 (ai1,ai2,,aiK)(a_{i_1}, a_{i_2}, \dots, a_{i_K}),这里 1i1<i2<<iKN1 \le i_1 < i_2 < \dots < i_K \le N。 比如,对于序列 (1,7,3,5,9,4,8)(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如 (1,7),(3,4,8)(1, 7), (3, 4, 8) 等等。这些子序列中和最大为 1818,为子序列 (1,3,5,9)(1, 3, 5, 9) 的和。

你的任务,就是对于给定的序列,求出最大上升子序列和。 注意,最长的上升子序列的和不一定是最大的,比如序列 (100,1,2,3)(100, 1, 2, 3) 的最大上升子序列和为 100100,而最长上升子序列为 (1,2,3)(1, 2, 3)

输入格式

第一行,一个整数 NN,表示序列的长度。 第二行,NN 个整数,表示给定的序列,整数的取值范围在 001000010000 之间(可能重复)。

输出格式

输出一个整数,表示最大上升子序列和。

样例

7
1 7 3 5 9 4 8
18

样例解释 在序列 (1,7,3,5,9,4,8)(1, 7, 3, 5, 9, 4, 8) 中,上升子序列 (1,3,5,9)(1, 3, 5, 9) 的和为 1+3+5+9=181+3+5+9=18,是所有上升子序列中和最大的。

数据范围

  • 1N10001 \le N \le 1000
  • 0ai100000 \le a_i \le 10000

CQY课堂练习5

未认领
状态
已结束
题目
13
开始时间
2026-4-11 0:00
截止时间
2026-5-9 23:59
可延期
24 小时