题解 | #【模板】前缀和#
【模板】前缀和
https://www.nowcoder.com/practice/acead2f4c28c401889915da98ecdc6bf
写了两个版本都不对,参考题解中的原地操作,得到了一个不错的解法,原来这就是所谓的前缀和。
// 原地操作
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, q;
cin >> n >> q;
vector<long long> a(n + 1);
long long sum = 0;
for(int i = 1; i <= n; ++i) {
long long num;
cin >> num;
sum += num;
a[i] = sum;
// cout << a[i] << endl;
}
while(q--) {
int l, r;
cin >> l >> r;
cout << a[r] - a[l - 1] << endl;
}
return 0;
}
