#4633. Index × A(Not Continuous ver.)

0

Index × A(Not Continuous ver.)

Index × A(Not Continuous ver.)

题目描述

你得到一个长度为 NN 的整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\dots,A_N)。 求对于序列 AA 的一个(不必连续的)长度为 MM 的子序列 B=(B1,B2,…,BM)B=(B_1,B_2,\dots,B_M),使得 ∑i=1Mi×Bi\displaystyle \sum_{i=1}^{M} i \times B_i 最大的值。

输入格式

输入从标准输入按以下格式给出: NN MM A1A_1 A2A_2 …\dots ANA_N

输出格式

输出答案。

4 2
5 4 -1 8
21
10 4
-3 1 -4 1 -5 9 -2 6 -5 3
54

提示

1≤M≤N≤20001 \le M \le N \le 2000 −2×105≤Ai≤2×105- 2 \times 10^5 \le A_i \le 2 \times 10^5 输入中的所有值都是整数。一个数列的 子序列 是通过从原始数列中删除 00 个或多个元素并按原顺序连接剩余元素得到的序列。 例如,(10,30)(10,30) 是 (10,20,30)(10,20,30) 的一个子序列,但 (20,10)(20,10) 不是 (10,20,30)(10,20,30) 的子序列。当 B=(A1,A4)B=(A_1,A_4) 时,我们有 $\displaystyle \sum_{i=1}^{M} i \times B_i = 1 \times 5 + 2 \times 8 = 21$。 由于不可能达到 2222 或更大的值,答案是 2121。

标签: AtCoder|abc267D

来源

AtCoder|abc267D