题目描述
長さ N の整数列 A=(A1,A2,…,AN) が与えられます。
長さ M の A の部分列(連続でなくてもよい) B=(B1,B2,…,BM) に対する、 i=1∑M i × Bi の最大値を求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
N M A1 A2 … AN
输出格式
答えを出力せよ。
题目大意
题目描述
有一个长度为 N 整数数列 A=(A1,A2,...,AN) 。
现在假设有一个长度为 M 的序列 B ,并且 B 是 A 的子序列。请找到 ∑i=1Mi×Bi 的最大值。
输入格式
输入按照下面的标准格式给出:
N MA1 A2 … AN
输出格式
一个整数,表示∑i=1Mi×Bi 的最大值。
说明 / 提示
注意事项
若序列 S 是长度为 L 的数列 T 的子序列,则 S 是数列 T 删除任意 i (i∈[0,L]) 个元素得到的。
比如说, (10,30) 是 (10,20,30) 的字串,但是 (20,10) 不是。
数据范围
- 1≤M≤N≤2000
- −2×105≤Ai≤2×105
- 所有输入数据均为整数
样例解释
对于样例一,当 B=(A1,A4) 时,∑i=1Mi×Bi=1×5+2×8=21 。因为不可能达到 22 或者更大的值,所以答案是 21 。
4 2
5 4 -1 8
21
10 4
-3 1 -4 1 -5 9 -2 6 -5 3
54
提示
注記
数列の部分列とは、数列から 0 個以上の要素を取り除いた後、残りの要素を元の順序で連結して得られる数列のことをいいます。
例えば、(10,30) は (10,20,30) の部分列ですが、(20,10) は (10,20,30) の部分列ではありません。
制約
- 1 ≤ M ≤ N ≤ 2000
- $ -\ 2\ \times\ 10^5\ \le\ A_i\ \le\ 2\ \times\ 10^5 $
- 入力は全て整数。
Sample Explanation 1
B=(A1,A4) とした場合、$ \displaystyle\ \sum_{i=1}^{M}\ i\ \times\ B_i\ =\ 1\ \times\ 5\ +\ 2\ \times\ 8\ =\ 21 $ となります。22 以上の値を達成することはできないため、解は 21 です。