AcWing 795. 前缀和

发布时间 2023-03-30 14:45:41作者: 回忆、少年

输入一个长度为 n的整数序列。接下来再输入 m个询问,每个询问输入一对 l,r

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

输入格式

第一行包含两个整数 nm

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

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

输出格式

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

数据范围

1lrn,

1n,m100000,

10001000

 

输入样例:

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

输出样例:

3
6
10

代码实现:

#include<iostream>
using namespace std;
const int MAX=1e5+5;
int a[MAX];
int s[MAX];
int main(){
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		s[i]=s[i-1]+a[i];
	}
	while(m--){
		int l,r;
		cin>>l>>r;
		cout<<s[r]-s[l-1]<<endl;
	}
	return 0;
}