不记录原数组:
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,m;
int s[N];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>s[i];
for(int i=1;i<=n;i++) s[i]+=s[i-1];
while(m--){
int a,b;
cin>>a>>b;
cout<<s[b]-s[a-1]<<endl;
}
return 0;
}
记录原数组:
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int s[N],a[N];
int n,m;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++) s[i]=s[i-1]+a[i];
while(m--){
int a,b;
cin>>a>>b;
cout<<s[b]-s[a-1]<<endl;
}
return 0;
}