题解 | #【模板】前缀和#

【模板】前缀和

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;
}

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务