#898. 求区间和

求区间和

题目描述

给定一个长度为 nn 的正整数序列:

a1,a2,,ana_1,a_2,\ldots,a_n

以及 mm 个区间:

[li,ri][l_i,r_i]

对于每个区间,请计算该区间内所有元素的和,即:

ali+ali+1++aria_{l_i}+a_{l_i+1}+\cdots+a_{r_i}

输入格式

第一行输入一个正整数 nn,表示序列的长度。

第二行输入 nn 个正整数 a1,a2,,ana_1,a_2,\ldots,a_n,表示给定序列。

第三行输入一个正整数 mm,表示询问区间的数量。

接下来 mm 行,每行输入两个正整数 lil_irir_i,表示一个询问区间。

输出格式

输出 mm 行。

ii 行输出一个整数,表示区间 [li,ri][l_i,r_i] 内所有元素的和。

样例

4
4 3 2 1
2
1 4
2 3
10
5

样例解释

11 个询问区间为 [1,4][1,4],区间和为:

4+3+2+1=104+3+2+1=10

22 个询问区间为 [2,3][2,3],区间和为:

3+2=53+2=5

数据范围

对于 5050% 的测试数据:

n,m1000n,m \le 1000

对于 100100% 的测试数据:

1n,m1051 \le n,m \le 10^5

1ai1041 \le a_i \le 10^4

1lirin1 \le l_i \le r_i \le n

来源:洛谷P8218