C算法模板->线性前缀和

127 阅读1分钟

本文已参加[新人创作礼]活动,一起开启掘金之路。 image-20220107115901794

#include<iostream>
#include<vector>

using namespace std;

const int N = 1e5+10;
int S[N],a[N];

int main()
{
    int n,m;
    int r,l;
    cin>>n>>m;
    for(int i=1;i<=n;i++)        cin>>a[i];  //(1)
    
    for(int i=1;i<=n;i++)        S[i] = S[i-1] + a[i];//(2)
    
    while(m--)
    {
        cin>>l>>r;
        cout<<S[r] - S[l-1]<<endl;(3)
    }
    
    return 0;
}

(1)输入数组
(2)预处理数组
(3)利用公式计算前缀和