思路
方法:利用前缀和得到的数据进行简单运算
前缀和的计算:用一个一维数组存储,sum[i]就是a[i]的前缀和。sum[i]=a[i]+sum[i-1].
把r[i]的前缀和与l[i]-1的前缀和相减,得到结果并输出。
代码
#include<bits/stdc++.h>
using namespace std;
int n,sum[100005],m,l[100005],r[100005];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int a;
cin>>a;
sum[i]=a+sum[i-1];
}
cin>>m;
for(int i=1;i<=m;i++) cin>>l[i]>>r[i];
for(int i=1;i<=m;i++) cout<<sum[r[i]]-sum[l[i]-1]<<endl;
return 0;
}