目录
[1. 题目描述](#1. 题目描述)
[2. 思路分析](#2. 思路分析)
[3. 代码实现](#3. 代码实现)
1. 题目描述
2. 思路分析
前缀和模板题。
前缀和中数组下标为1~n。
前缀和:pre[i]=pre[i-1]+a[i];
某段区间 [l,r]的和:pre[r]-pre[l-1]
3. 代码实现
cpp
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N=1e5+10;
int a[N],pre[N];
signed main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int n,q; cin>>n>>q;
for(int i=1;i<=n;i++){
cin>>a[i];
pre[i]=pre[i-1]+a[i];
}
while(q--){
int l,r; cin>>l>>r;
cout<<pre[r]-pre[l-1]<<endl;
}
return 0;
}