AcWing 795. 前缀和(C++)
原题链接
简单
作者:
你叫我怎么荔枝
,
2024-04-07 13:40:15
,
所有人可见
,
阅读 1
题目描述
前缀和求从第 l个数到第 r个数的和。
思路
累积更新前缀和,用r的前缀和减去l-1的前缀和即可
C++ 代码
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 100010;
int P[N],S[N];
int main()
{
int n,m;
int l,r;
cin>>n>>m;
//注意这里为什么是i=1 因为要算 第l和第r之间 所以选择从1开始 1就是第一个
for (int i = 1; i <= n; i ++ )scanf("%d",&P[i]);
for (int i = 1; i <= n; i ++ )S[i] = S[i-1]+P[i];
while (m -- ){
cin>>l>>r;
cout << S[r]-S[l-1]<<endl;
}
return 0;
}