问题 DB: 序列修改

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:16 解决:5

题目描述


输入

输入格式:

N
D1 D2 ... DN

数据范围:

  • 1 ≤ N ≤ 2 × 1 0 5 1 leq N leq 2 imes 10^51N2×105

  • 1 ≤ C i ≤ 1 0 9 1leq C_ileq 10^91Ci109

  • 所有输入的数都是整数

样例解释:

1
1000000000

共有两对不同长度为1的由01组成的( S , T ) (S,T)(S,T)

  • S = 0 , T = 1 S = 0, T = 1S=0,T=1:修改S1为1,则S = T,代价为1000000000
  • S = 1 , T = 0 S = 1, T = 0S=1,T=0:修改S1为0,则S = T,代价为1000000000

总代价是1000000000

输出

输出一行一个正整数,代表f ( S , T ) f(S,T)f(S,T)的和,并对1 0 9 + 7 10^9+7109+7取模。

样例解释:

在上述样例中:

2000000000 m o d    ( 1 0 9 + 7 ) = 999999993 2000000000mod (10^9+7) = 9999999932000000000mod(109+7)=999999993

因此输出:

999999993

样例输入 复制

1
1000000000

样例输出 复制

999999993

提示