题解 | #【模板】前缀和#
【模板】前缀和
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; }