题目描述
现有一个整数n,和一个初始点值均为 0 的无限长的数轴。
给定一个序列 p1,p2,p3,……,pn ,表示有n个数轴上的点。
再给出一个序列用于修改n个点的值, ap1,ap2,ap3,……,apn ,分别表示数轴上 pi 点的值。
- 定义 S(x)=∑i=−∞xai。
随后给出 q 个查询,每个查询:
- 给出两个整数 l,r ,求S(r)−S(l)的答案。
输入格式
输入一个整数T(1≤T≤105),表示测试样例组数。
对于每组测试样例:
第一行一个整数n(1≤n≤2×105),表示序列长度。
第二行n个整数,p1,p2,p3,……,pn,表示有n个数轴上的点,(∣pi∣≤109)且各不相同。
第三行n个整数,ap1,ap2,ap3,……,apn,分别表示数轴上 pi 点的值,(∣api∣≤109)。
第四行一个整数q(1≤q≤2×105), 表示查询次数。
随后q行,每行输入两个整数l,r(∣l∣,∣r∣≤109)。
多组数据范围保证,∑n,∑q≤2×105
输出格式
每组测试样例输出q行。
每行输出一个对 109+7 取模的整数ans,代表查询答案。
输入输出样例 #1
输入 #1
1
4
-10 0 10 20
-5 15 -3 10
4
-20 -10
-5 15
20 -20
-100 -50
输出 #1
1000000002
12
999999990
0