#4274. 索引xA(连续版)(IndexxA(Continuous ver))

    ID: 4274 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>组合数学差分基础语法一维前缀和一维差分前缀和ABC

索引xA(连续版)(IndexxA(Continuous ver))

题目描述

给定一个长度为 NN 的整数序列 A=(A1,A2,...,AN)A=(A_1,A_2,...,A_N)。找出 AA 的一个长度为 MM 的连续子数组 B=(B1,B2,...,BM)B=(B_1,B_2,...,B_M),使得 i=1Mi×Bi\sum_{i=1}^{M} i \times B_i 的值最大。请计算并输出这个最大值。

连续子数组是指从原序列中删除 0 个或多个开头元素和 0 个或多个结尾元素后得到的序列。
例如,(2, 3) 和 (1, 2, 3) 是 (1, 2, 3, 4) 的连续子数组,但 (1, 3) 和 (3, 2, 1) 不是。

输入格式

输入从标准输入中给出,格式如下:

NN MM

A1A_1 A2A_2 \cdots ANA_N

输出格式

输出所求答案。

样例

4 2
5 4 \-1 8
15
10 4
-3 1 -4 1 -5 9 -2 6 -5 3
31

样例1解释

B=(A3,A4)B=(A_3,A_4) 时,我们有 $\sum_{i=1}^{M} i \times B_i = 1 \times (-1) + 2 \times 8 = 15$。由于不可能得到 16 或更大的值,所以答案是 15。

注意,你不能选择例如 B=(A1,A4)B=(A_1,A_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
  • 所有输入均为整数。

来源

  • AtCoder ABC267C