编程题
### 题目描述 现定义数组单调和为所有元素 $i$ 的 $\mathrm{f}(\mathrm{i})$ 值之和。 这里的 $\mathrm{f}(\mathrm{i})$ 函数定义为元素 $i$ 左边(不包括其自身)小于等于它的数字之和。 请设计一个高效算法,计算数组的单调和,这个和可能很大,请你输出这个和对 $10^{9}+7$ 取模的结果。 ### 输入描述 第一行一个数字 $n$ 表示数组的长度。 第二行 $n$ 个整数 $a_1$,$a_2$,$…$,$a_n$, 其中 $a_i$ 表示数组的第 $i$ 项。 ### 输出描述 输出一个整数,表示答案,并对 $10^{9}+7$ 取模。 ### 输入格式 ``` 6 1 3 5 2 4 6 ``` ### 输出格式 ``` 27 ``` ### 样例说明 $\mathrm{f}(\mathrm{1}) = 0$,$\mathrm{f}(\mathrm{2}) = 1$,$\mathrm{f}(\mathrm{3}) = 1 + 3 = 4$,$\mathrm{f}(\mathrm{4}) = 1$,$\mathrm{f}(\mathrm{5}) = 1 + 3 + 2 = 6$,$\mathrm{f}(\mathrm{6}) = 1 + 3 + 5 + 2 + 4 + 6 = 15$。 所以数组单调和:$\mathrm{f}(\mathrm{1})+\mathrm{f}(\mathrm{2})+\mathrm{f}(\mathrm{3})+\mathrm{f}(\mathrm{4})+\mathrm{f}(\mathrm{5})+\mathrm{f}(\mathrm{6}) = 27$。 ### 数据范围 对于所有的测评数据,$1 \leq n \leq 2 \times10^{4}$,$1 \leq a_i \leq 10^6 $。
查看答案
赣ICP备20007335号-2