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

[ABC267C] Index × A(Continuous ver.)

AT_abc267_c [ABC267C] Index × A(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

输出格式

请输出答案。

输入输出样例 #1

输入 #1

4 2
5 4 -1 8

输出 #1

15

输入输出样例 #2

输入 #2

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

输出 #2

31

说明/提示

注释

数列的连续子序列是指通过从数列的开头删除 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 \leq M \leq N \leq 2 \times 10^5
  • 2×105Ai2×105-2 \times 10^5 \leq A_i \leq 2 \times 10^5
  • 输入均为整数。

样例解释 1

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) 等非连续子序列。

由 ChatGPT 4.1 翻译