{"trustable":true,"prependHtml":"\u003cstyle type\u003d\u0027text/css\u0027\u003e\n .input, .output {\n border: 1px solid #888888;\n }\n .output {\n margin-bottom: 1em;\n position: relative;\n top: -1px;\n }\n .output pre, .input pre {\n background-color: #EFEFEF;\n line-height: 1.25em;\n margin: 0;\n padding: 0.25em;\n }\n \u003c/style\u003e\n \u003clink rel\u003d\"stylesheet\" href\u003d\"//codeforces.org/s/96598/css/problem-statement.css\" type\u003d\"text/css\" /\u003e\n\u003cscript\u003e\n window.katexOptions \u003d {\n delimiters: [\n {left: \u0027$$$$$$\u0027, right: \u0027$$$$$$\u0027, display: true},\n {left: \u0027$$$\u0027, right: \u0027$$$\u0027, display: false},\n {left: \u0027$$\u0027, right: \u0027$$\u0027, display: true},\n {left: \u0027$\u0027, right: \u0027$\u0027, display: false}\n ]\n };\n\u003c/script\u003e\n","sections":[{"title":"","value":{"format":"HTML","content":"\u003cp\u003e给定一个数组 $$$a_1, a_2, \\dots, a_n$$$。所有的 $$$a_i$$$ 两两不相同。\u003c/p\u003e\u003cp\u003e让我们定义函数 $$$f(l, r)$$$ 如下:\u003c/p\u003e\u003cul\u003e \u003cli\u003e 定义数组 $$$b_1, b_2, \\dots, b_{r - l + 1}$$$,其中 $$$b_i \u003d a_{l - 1 + i}$$$;\u003c/li\u003e\u003cli\u003e 按升序对数组 $$$b$$$ 进行排序;\u003c/li\u003e\u003cli\u003e 函数 $$$f(l, r)$$$ 的结果是 $$$\\sum\\limits_{i \u003d 1}^{r - l + 1}{b_i \\cdot i}$$$。\u003c/li\u003e\u003c/ul\u003e\u003cp\u003e计算 $$$\\left(\\sum\\limits_{1 \\le l \\le r \\le n}{f(l, r)}\\right) \\mod (10^9+7)$$$,即 $$$a$$$ 的所有子段的 $$$f$$$ 的总和对 $$$10^9+7$$$ 取模。\u003c/p\u003e"}},{"title":"输入","value":{"format":"HTML","content":"\u003cp\u003e第一行包含一个整数 $$$n$$$($$$1 \\le n \\le 5 \\cdot 10^5$$$)— 数组 $$$a$$$ 的长度。\u003c/p\u003e\u003cp\u003e第二行包含 $$$n$$$ 个整数 $$$a_1, a_2, \\dots, a_n$$$($$$1 \\le a_i \\le 10^9$$$,$$$a_i \\neq a_j$$$ 对于 $$$i \\neq j$$$)— 数组 $$$a$$$。\u003c/p\u003e"}},{"title":"输出","value":{"format":"HTML","content":"\u003cp\u003e输出一个整数 — $$$a$$$ 的所有子段的 $$$f$$$ 的总和对 $$$10^9+7$$$ 取模。\u003c/p\u003e"}},{"title":"示例","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e4\n5 2 4 7\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e167\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}},{"title":"","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e3\n123456789 214365879 987654321\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e582491518\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}},{"title":"注意","value":{"format":"HTML","content":"\u003cp\u003e第一个示例的描述:\u003c/p\u003e\u003cul\u003e \u003cli\u003e $$$f(1, 1) \u003d 5 \\cdot 1 \u003d 5$$$;\u003c/li\u003e\u003cli\u003e $$$f(1, 2) \u003d 2 \\cdot 1 + 5 \\cdot 2 \u003d 12$$$;\u003c/li\u003e\u003cli\u003e $$$f(1, 3) \u003d 2 \\cdot 1 + 4 \\cdot 2 + 5 \\cdot 3 \u003d 25$$$;\u003c/li\u003e\u003cli\u003e $$$f(1, 4) \u003d 2 \\cdot 1 + 4 \\cdot 2 + 5 \\cdot 3 + 7 \\cdot 4 \u003d 53$$$;\u003c/li\u003e\u003cli\u003e $$$f(2, 2) \u003d 2 \\cdot 1 \u003d 2$$$;\u003c/li\u003e\u003cli\u003e $$$f(2, 3) \u003d 2 \\cdot 1 + 4 \\cdot 2 \u003d 10$$$;\u003c/li\u003e\u003cli\u003e $$$f(2, 4) \u003d 2 \\cdot 1 + 4 \\cdot 2 + 7 \\cdot 3 \u003d 31$$$;\u003c/li\u003e\u003cli\u003e $$$f(3, 3) \u003d 4 \\cdot 1 \u003d 4$$$;\u003c/li\u003e\u003cli\u003e $$$f(3, 4) \u003d 4 \\cdot 1 + 7 \\cdot 2 \u003d 18$$$;\u003c/li\u003e\u003cli\u003e $$$f(4, 4) \u003d 7 \\cdot 1 \u003d 7$$$;\u003c/li\u003e\u003c/ul\u003e"}}]}