4443: 【入门】计算能力(2060)
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:45
解决:21
题目描述
小 同学有着很强的计算能力,张老师为了检验小 同学的计算能力,写了一个 个数的数列。
张老师问了小 同学 个问题,每个问题都是请小 同学计算这个数列从第 个数开始到第 个数结束这个区间的所有数的和。
请你编程帮助张老师计算出结果。
输入
第一行包含两个整数 和 。
第二行包含 个整数。
接下来 行,每行包含两个整数 和 表示。
数据范围
。
。
数列中元素的值,在 的范围内。
输出
共 行,每行输出一个询问的结果。
样例输入 复制
6 3
1 3 6 5 4 2
1 3
2 5
3 6
样例输出 复制
10
18
17
提示

#include<bits/stdc++.h> using namespace std; const int N=100010; int a[N],b[N]; //a数组表示读入的值,b数组代表前缀和 int n,m; int main(){ scanf("%d%d" ,&n,&m); //读入n个数 for(int i=1;i <= n;i++){ scanf("%d" ,&a[i]); //求前缀和 b[i]= b[i-1]+ a[i]; } //读入m个问题 int x,y; for(int i=1;i<= m;i++){ scanf("%d%d" ,&x,&y); printf("%d\n",b[y]-b[x-1]); } return 0; }