luogu#P9607. [CERC2019] Be Geeks!

    ID: 13576 远端评测题 2000ms 128MiB 尝试: 3 已通过: 1 难度: 6 上传者: 标签>2019线段树倍增st表ICPC笛卡尔树单调栈

[CERC2019] Be Geeks!

题目背景

题目译自 CERC 2019Be Geeks!

题目描述

音乐乐队 Be Geeks! 的名字并非偶然,因为所有成员都是真正的数学怪才。除此之外,他们喜欢研究数列的各种性质。下面是他们感兴趣的一个例子:

  • AA 是一个非空正整数序列,A=(a1,a2,,aN)A=(a_1, a_2, \dots, a_N)
  • G(i,j)=gcd(ai,ai+1,,aj)G(i, j)=\gcd (a_i, a_{i+1}, \dots, a_j),其中 1ijN1\le i\le j\le N
  • M(i,j)=max(ai,ai+1,,aj)M(i, j)=\max (a_i, a_{i+1}, \dots, a_j),其中 1ijN1\le i\le j\le N
  • P(i,j)=G(i,j)×M(i,j)P(i, j)=G(i, j)\times M(i, j),其中 1ijN1\le i\le j\le N
  • F(A)=P(i,j)[1ijN]F(A)=\sum P(i, j)[1\le i\le j\le N]

给出一个序列 AA,你需要求出 F(A)mod1000000007F(A)\bmod 1\,000\,000\,007 的值。

输入格式

第一行包含一个整数 N (1N2×105)N\ (1\le N\le 2\times 10^5),代表序列 AA 的长度。

第二行包含 NN 个整数 a1,a2,,aN (1ai109)a_1, a_2, \dots, a_N\ (1\le a_i\le 10^9),代表序列 AA

输出格式

输出一个整数,代表 F(A)mod1000000007F(A)\bmod 1\,000\,000\,007 的值。

4
1 2 3 4

50

5
2 4 6 12 3

457