前缀和实际上就是求的是前n项和
主要思路:
1.读取输入
2.初始化前缀和
3 ,输出
例子: 1 3 5 6 7 8 8
下标:1 2 3 4 5 6 7
求第二个数到第四个数字之间所有数的和
首先 前 4 项的和 等于前三项的和 加上第四个数
然后 求第二个数到第四个数字之间所有数的和 就等于前4个数的和减去 前 2-1 项的和
主要代码实现:
#include<bits/stdc++.h>
using namespace std;
const int N =1e6;
int a[N] , s[N];
int n,m;
int main (void)
{
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];
//l到r区间的数的和
while(m--)
{
int l,r;
cin>>l>>r;
cout<<s[r] -s[l-1];
}
return 0;
}