#P12300. Scalar Queries

    ID: 4 远端评测题 2000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>数学算法基础排序数据结构树状数组*2300

Scalar Queries

题目链接

题意

给定一个长度为 nn 的序列 aa

定义一个函数 f(l,r)f(l,r) 表示下面操作后的结果。

  • 创建一个长度为 rl+1r-l+1 的序列 bb 使得 bi=al1+ib_i=a_{l-1+i}

  • bb 从小到大排序。

  • 最后的答案就是 i=1rl+1bi×i\sum_{i=1}^{r-l+1} b_i\times i

l=1nr=lnf(l,r)\sum_{l=1}^n \sum_{r=l}^n f(l,r)

答案对 109+710^9+7 取模。

输入格式

一行一个数 nn,接下来 nn 个数,表示该序列。

输出格式

一行一个数,表示答案。

样例

4
5 2 4 7
167
3
123456789 214365879 987654321
582491518

数据范围

1n5×1051\le n\le 5\times 10^5