6703: 【前缀和】米哈游2023秋招-米小游的极差之和

金币值:1 时间限制:2.000 s 内存限制:128 M
正确:15 提交:49 正确率:30.61% 命题人:
点赞量:0 收藏量:0 题目类型:程序 知识点: 数学 前缀和 米哈游

题目描述

米小游拿到了一个数组a,她用这个数组构造一个新数组b,其中ai代表b数组中有ai个i。 

例如,若a = [2,3,1],那么b = [1,1,2,2,2,3],因为a1=2,代表b 数组中有2个1;a2=3,代表b数组中有3个2;a3 = 1,代表b数组中有1个3。 

现在给定a数组,你需要帮米小游求出b数组中所有连续子数组的极差之和。

由于答案可能过大,请对10^9+7 取模。 数组的极差指最大值减去最小值。

输入格式

第一行输入一个正整数n,代表a数组的元素数量。 

第二行输入n 个正整数ai,代表a数组的元素。 

1 ≤ n ≤ 10^5 

1 ≤ ai ≤ 10^9

输出格式

一个整数,代表数组中所有区间的极差之和,对10^9+7取模的值。

输入样例    复制

2
2 1

输出样例    复制

2

提示

a=[2,1]时,b数组为[1,1,2]。 

此时b数组共有6个连续子数组: 

[1]的极差为0。 [1]的极差为0。 [2]的极差为0。 [1,1]的极差为0。 [1,2]的极差为1。 [1,1,2]的极差为1。 

因此答案是0+0+0+0+1+1=2。