水题,题目给定了一个固定的数组,让我们处理多个区间求和的询问,我们直接按题目所说的,对原数组进行前缀和操作,查询时直接进行差分即可求得答案。注意开 long long。

#include<bits/stdc++.h>
using i64 = long long;

int main() {
    std::cin.tie(nullptr)->sync_with_stdio(false);

    int n, q;
    std::cin >> n >> q;

    std::vector<i64> a(n + 1);
    for (int i = 1; i <= n; i++) {
        std::cin >> a[i];
    }

    std::partial_sum(a.begin(), a.end(), a.begin());
    while (q--) {
        int l, r;
        std::cin >> l >> r;
        std::cout << a[r] - a[l - 1] << "\n";
    }

    return 0;
}

https://www.nowcoder.com/discuss/727521113110073344