题目描述
给定 n个正整数组成的数列 a1, a2,......, an和 m个区间[l_i,r_i],分别求这 m 个区间的区间和。
对于所有测试数据,n,m<=10^5 a_i<=10^4
输入格式
第一行,为一个正整数n。
第二行,为 n个正整数 a1,a2, .......,an
第三行,为一个正整数m 。
接下来 m 行,每行为两个正整数 l_i,r_i ,满足1<=l_i<=r_i<=n
输出格式
共 m 行。
第 i 行为第 i 组答案的询问。
样例
样例输入 #1
```
4
4 3 2 1
2
1 4
2 3
```
样例输出 #1
```
10
5
```
提示/说明
样例解释:第 1 到第 4 个数加起来和为 10。第 2 个数到第 3 个数加起来和为 5。
对于 %50 的数据:n,m<=1000;
对于 %100 的数据:1 <= n, m<= 10^5 , 1<=a_i<=10^4
答案代码
#include<stdio.h>
int main()
{
int n,a[100010];
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
int s[100010];
s[0]=0;
for(int i=1;i<=n;i++)
s[i]=s[i-1]+a[i];
int m;
scanf("%d",&m);
for(int i=1;i<=m;i++)
{
int l,r;
scanf("%d%d",&l,&r);
printf("%d\n",s[r]-s[l-1]);
}
return 0;
}