Skip to content

Latest commit

 

History

History

0795

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

题目

输入一个长度为 $n$ 的整数序列。

接下来再输入 $m$ 个询问,每个询问输入一对 $l, r$

对于每个询问,输出原序列中从第 $l$ 个数到第 $r$ 个数的和。

输入格式

第一行包含两个整数 $n$$m$

第二行包含 $n$ 个整数,表示整数数列。

接下来 $m$ 行,每行包含两个整数 $l$$r$,表示一个询问的区间范围。

输出格式

$m$ 行,每行输出一个询问的结果。

数据范围

$1 \le l \le r \le n$,

$1 \le n,m \le 100000$,

$-1000 \le 数列中元素的值 \le 1000$

输入样例:

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

输出样例:

3
6
10

题解

前置题目:0794

前置知识:语法

本题知识:基础算法-前缀和

模板

创建一个前缀和的数组sum,数组下标从1开始

sum[i]的值表示的是sum[1] + sum[2] + ... + sum[i]

求区间[l,r]内所有值的和即为s[r] - s[l-1]

s[l-1] = sum[1] + sum[2] + ... + sum[l-1]
s[r]   = sum[1] + sum[2] + ... + sum[l-1] + sum[l] + ... + sum[r]