#P4989. 区间和

区间和

区间和

课程自编 · 一维前缀和

题目描述

给出一个长度为 nn 的整数序列 a1,a2,…,ana_1,a_2,\dots,a_n。有 qq 次询问,每次询问给出两个整数 l,rl,r,请输出 al+al+1+⋯+ar.a_l+a_{l+1}+\cdots+a_r.

输入格式

第一行两个整数 n,qn,q。第二行 nn 个整数 a1,a2,…,ana_1,a_2,\dots,a_n。接下来 qq 行,每行两个整数 l,rl,r。

输出格式

对每个询问输出一行,表示区间 [l,r][l,r] 的元素和。

数据范围与约定

1≤n,q≤2×1051 \le n,q \le 2\times 10^5,∣ai∣≤109|a_i| \le 10^9,1≤l≤r≤n1 \le l \le r \le n。

样例输入

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

样例输出

6
14
4

样例说明

区间 [2,4][2,4] 的和为 1+4+1=61+4+1=6;整个序列的和为 1414;[3,3][3,3] 的和为 44。使用前缀和 si=si−1+ais_i=s_{i-1}+a_i,答案为 sr−sl−1s_r-s_{l-1}。

说明

课程自编题,数据由 src/gen.py 生成。