前缀和

1 B3612 【深进1.例1】求区间和 - 洛谷

1 代码

#include <bits/stdc++.h>
using namespace std;
int n, m, l, r, a[100010];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(NULL);
    cin >> n;
    for (int i = 1; i <= n; i++)
        cin >> a[i];
    for (int i = 2; i <= n; i++)
        a[i] = a[i - 1] + a[i];
    cin >> m;
    for (int i = 0; i < m; i++)
        cin >> l >> r,cout << a[r] - a[l - 1] << '\n';
}

2 题目描述

给定 n 个正整数组成的数列 a1,a2,,anm 个区间 [li,ri],分别求这 m 个区间的区间和。

3 输入格式

na1 a2 anml1  r1l2  r2lm rm

满足 1lirin , 1n,m1051ai104

4 输出格式

res1res2resm

m 行。

i 行为第 i 组答案的询问。

5 样例 #1

5.1 样例输入 #1

4
4 3 2 1
2
1 4
2 3

5.2 样例输出 #1

10
5