前缀和,主要解决区间和的问题
C++ 代码
#include<bits/stdc++.h>
using namespace std;
int a[100010];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i],a[i]+=a[i-1];
// for(int i=1;i<=n;i++)cout<<a[i]<<" ";cout<<endl;
while(m--){
int l,r;
cin>>l>>r;
cout<<a[r]-a[l-1]<<endl;//这里要输出l到r的和,如果是a[r]-a[l]会漏掉第l个数
}
return 0;
}