A60050.取与得

普及-

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

Alice 最近在整理她的数据序列。她手中有一个长度为 nn 的数组,但她觉得这个数组的当前排列方式不够理想。于是,她决定通过删除一些元素来构造一个新的非空子序列,并将子序列按照一定方法重新排列,生成一个新的数组 a1,a2,,aka_1, a_2, \dots, a_k(其中 1kn1 \leq k \leq n)。

为了量化新序列的满意度,Alice 设计了一个评价标准:对于长度为 kk 的子序列,其满意度定义为

i=1k(ki+1)×ai\sum_{i=1}^k (k - i + 1) \times a_i

请你帮助 Alice 找出所有可能的非空子序列中,能够使满意度最大的那个子序列,并输出其满意度值。

输入格式

第一行输入一个整数 nn ,代表原数组的长度 。

接下来一行输入 nn 个整数arriarr_i ,代表原数组的每一个元素。

输出格式

输出一个整数,表示可能的最大满意度。

输入输出样例

  • 输入#1

    5
    1 2 3 4 5

    输出#1

    55
  • 输入#2

    5
    1 2 3 -10 -20

    输出#2

    14
    
  • 输入#3

    10
    17171 -441491 -479742 -250629 -656049 -286242 -632781 -132362 219802 -542944

    输出#3

    561386
    

说明/提示

数据范围

  • 1n1051 \le n \le 10^5
  • 106arri106-10^6 \le arr_i \le 10^6
首页