思路:两个数组,一个数组用来保存数据,一个数组来求对应项的和
前缀和=S[r]-s[r-1]
空出来下标0
从1开始
方便表示,防止越界
c++代码实现:
#include<iostream>
using namespace std;
const int N=1000000;
int a[N],s[N];
int main(){int n,m;cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];}s[0]=0;for(int i=1;i<=n;i++){s[i]=s[i-1]+a[i];}int l,r;while(m--){cin>>l>>r;cout<<s[r]-s[l-1]<<endl;} }