题解 | #【模板】前缀和#
【模板】前缀和
https://www.nowcoder.com/practice/acead2f4c28c401889915da98ecdc6bf
#include <iostream> using namespace std; const int N = 1e5 + 10; //开long long 数组防止数据过大 long long sum[N], arr[N]; int main() { int n = 0, q = 0; cin >> n >> q; for (int i = 1; i <= n; i++) { cin >> arr[i]; //在定义arr数组的同时把sum数组定义,减少时间复杂度 if (i == 1) { sum[i] = arr[i]; } else { sum[i] = sum[i - 1] + arr[i]; } } while (q--) { int l = 0, r = 0; cin >> l >> r; if (l == 1) { printf("%lld\n", sum[r]); } else { printf("%lld\n", sum[r] - sum[l - 1]); } } return 0; }