Problem M: 排序接近有序的序列
[Creator : ]
Description
现有一个长为n(1<=n<=5*106)的正整数构成的升序序列,将其中不超过5对数字进行交换后得到一个打乱后的序列。
输入该打乱后的序列,请你将该打乱后的序列还原为升序序列,而后求出第1个数乘以1加上第2个数乘以2,。。。,加上第n个数乘以n的和。也就是说,如果原升序序列第i个数为$a_i$,该题求$\Sigma_{i=1}^n i\cdot a_i$,结果对1000000007取模。
输入该打乱后的序列,请你将该打乱后的序列还原为升序序列,而后求出第1个数乘以1加上第2个数乘以2,。。。,加上第n个数乘以n的和。也就是说,如果原升序序列第i个数为$a_i$,该题求$\Sigma_{i=1}^n i\cdot a_i$,结果对1000000007取模。
Input
第一行:输入n,(1<=n<=5*106)
第二行:输入n个正整数,每个数a满足1<=a<=109, 该序列为按照要求打乱后的序列
第二行:输入n个正整数,每个数a满足1<=a<=109, 该序列为按照要求打乱后的序列
Output
一个整数,是题目要求的结果
Sample 1 Input
3
3 2 1
Sample 1 Output
14
还原后数字序列为1 2 3,求出结果为(1*1+2*2+3*3) mod 1000000007 = 14
Sample 2 Input
5
10 6 4 8 2
Sample 2 Output
110