#ds601. 最大和上升子序列2

最大和上升子序列2

最大和上升子序列2

题目描述

给定一个长度为 nn 的数组 a1,a2,…,ana_1,a_2,\dots ,a_n,问其中的和最大的上升子序列。也就是说,我们要找到数组 p1,p2,…,pmp_1,p_2,\dots,p_m,满足 1≤p1<p2<⋯<pm≤n1\leq p_1 < p_2 < \dots < p_m \leq n 并且 ap1<ap2<⋯<apma_{p_1} < a_{p_2} < \dots < a_{p_m},使得ap1+ap2+⋯+apma_{p_1} + a_{p_2} + \dots + a_{p_m}最大。

输入格式

第一行一个数字 nn。

接下来一行 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n。

输出格式

一个数,表示答案。

样例输入

6
3 7 4 2 6 8

样例输出

21

数据范围

所有数据保证 $1\leq n\leq 2 \times 10^5, 1 \leq a_i \leq 2\times 10^5$。