atcoder#ABC267C. [ABC267C] Index × A(Continuous ver.)

[ABC267C] Index × A(Continuous ver.)

配点 : 300300

問題文

長さ NN の整数列 A=(A1,A2,,AN)A=(A_1,A_2,\dots,A_N) が与えられます。

長さ MMAA の連続部分列 B=(B1,B2,,BM)B=(B_1,B_2,\dots,B_M) に対する、i=1Mi×Bi\displaystyle \sum_{i=1}^{M} i \times B_i の最大値を求めてください。

注記

数列の連続部分列とは、数列の先頭から 00 個以上、末尾から 00 個以上の要素を削除して得られる列のことをいいます。

例えば (2,3)(2, 3)(1,2,3)(1, 2, 3)(1,2,3,4)(1, 2, 3, 4) の連続部分列ですが、(1,3)(1, 3)(3,2,1)(3,2,1)(1,2,3,4)(1, 2, 3, 4) の連続部分列ではありません。

制約

  • 1MN2×1051 \le M \le N \le 2 \times 10^5
  • 2×105Ai2×105- 2 \times 10^5 \le A_i \le 2 \times 10^5
  • 入力は全て整数。

入力

入力は以下の形式で標準入力から与えられる。

NN MM

A1A_1 A2A_2 \dots ANA_N

出力

答えを出力せよ。

4 2
5 4 -1 8
15

B=(A3,A4)B=(A_3,A_4) とした場合、$\displaystyle \sum_{i=1}^{M} i \times B_i = 1 \times (-1) + 2 \times 8 = 15$ となります。1616 以上の値を達成することはできないため、解は 1515 です。

B=(A1,A4)B=(A_1,A_4) などを選ぶことができないことに注意してください。

10 4
-3 1 -4 1 -5 9 -2 6 -5 3
31