题目背景
小依:你知道刀削面吗?
小铃:你不知道吗?!就是一只手拿着面团,另一只手里拿刀,站在开水锅前,把面团削成细长的薄片下进锅里煮的那种面!
小圈:你说得对,但是取模也是一种刀削面(?)
题目描述
给定长为 n 的数列 a。对于一个非负整数 x,定义刀削面函数 $f(x) = x \bmod a _ 1 \bmod a _ 2 \bmod \cdots \bmod a _ n$(即先对 a1 取模,再对 a2 取模,一直取模到 an)。
给出非负整数 l,r,求 i=l∑rf(i) 的值对 109+7 取模的结果。
输入格式
第一行三个非负整数 n,l,r。
第二行 n 个正整数表示 a 数列。
输出格式
一行一个非负整数表示 i=l∑rf(i) 的值对 109+7 取模的结果。
样例
样例输入 1
4 0 9
9 9 8 5
样例输出 1
13
样例输入/输出 2
见下发文件 modulo2.in/ans。该样例满足测试点 3∼5 的限制。
样例输入/输出 3
见下发文件 modulo3.in/ans。该样例满足测试点 8∼11 的限制。
数据范围与提示
本题共 20 个测试点,每个测试点 5 分。
| 测试点编号 |
特殊性质 |
| 1∼2 |
r<minai |
| 3∼5 |
n≤1000,r≤10000 |
| 6∼7 |
n≤1000,r−l≤10000 |
| 8∼11 |
n≤1000 |
| 12∼14 |
n≤10000 |
| 15∼16 |
n≤70000 |
| 17∼20 |
无特殊限制 |
对于所有数据,1≤n≤2×105,0≤l≤r≤1018,1≤ai≤1018。
后记
小依 & 小铃:所以取模和刀削面到底有什么关系啊!
小圈:你们不知道吗?!就是一只手拿着原数,另一只手里拿模数,站在开水锅(?)前,把原数削成细长的模数下进锅里煮(?)的那种运算!