#4550. 计算数组的小和

    ID: 4550 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>难度普及+/提高基础算法排序其他分治数据结构树状数组高级数据结构线段树归并排序

计算数组的小和

题目描述

数组小和的定义如下:

i=1nfi \sum\limits_{i=1}^{n} f_i  (其中 fif_i  的定义是第 i 个数的左侧小于等于 sis_i  的个数)

例如,数组 s = [1, 3, 5, 2, 4, 6] ,在 s[0] 的左边小于或等于 s[0] 的数的和为 0 ; 在 s[1] 的左边小于或等于 s[1] 的数的和为 1 ;在 s[2] 的左边小于或等于 s[2] 的数的和为 1+3=4 ;在 s[3] 的左边小于或等于 s[3] 的数的和为 1 ;

在 s[4] 的左边小于或等于 s[4] 的数的和为 1+3+2=6 ;在 s[5] 的左边小于或等于 s[5] 的数的和为 1+3+5+2+4=15 。所以 s 的小和为 0+1+4+1+6+15=27

给定一个数组 ss ,实现函数返回 ss 的小和

输入描述:

第一行有一个整数 NN。表示数组长度

接下来一行 NN 个整数表示数组内的数

输出描述:

一个整数表示答案

示例1

6
1 3 5 2 4 6
27

示例2

1
1
0

数据范围:

0<n105 ,si1000<n\le 10^5 , |s_i| \le 100

SOURCE

nowcoder 计算数组的小和

}