166. 前缀和
时间限制:1000 MS 内存限制:64 MB
题目描述
# 前缀和 ## 题目描述 给定一个长度为 $n$ 的整数序列 $a_1,a_2,\ldots,a_n$,序列中的位置从 $1$ 开始编号。 接下来有 $m$ 个询问,每个询问给出两个整数 $l$ 和 $r$。对于每个询问,请求出序列中从第 $l$ 个数到第 $r$ 个数的和,即: $$ a_l+a_{l+1}+\cdots+a_r $$ ## 输入格式 从文件 `prefix.in` 中读入数据。 第一行包含两个整数 $n$ 和 $m$,分别表示序列长度和询问个数。 第二行包含 $n$ 个整数 $a_1,a_2,\ldots,a_n$,表示给定的序列。 接下来 $m$ 行,每行包含两个整数 $l$ 和 $r$,表示一个询问的闭区间 $[l,r]$。 ## 输出格式 将结果输出到文件 `prefix.out` 中。 输出共 $m$ 行,每行一个整数,表示对应询问的区间元素和。按照询问的输入顺序输出。 ## 数据范围 - $1 \le n,m \le 100000$。 - $1 \le l \le r \le n$。 - $-1000 \le a_i \le 1000$,其中 $1 \le i \le n$。 ## 样例输入 ``` 5 3 2 1 3 6 4 1 2 1 3 2 4 ``` ## 样例输出 ``` 3 6 10 ``` ## 运行限制 - 时间限制:$1000$ 毫秒。 - 内存限制:$64$ MB。