#1003. 例3:区间和-单点修改1

例3:区间和-单点修改1

🧮 题目描述

这是一个模拟题模板。

给定数列 $a_1, a_2, \dots, a_n$,你需要依次进行 $q$ 个操作,操作有两类:

  • 1 i x:给定 $i, x$,将 $a_i$ 加上 $x$;
  • 2 l r:给定 $l, r$,求 $\sum_{i=l}^r a_i$ 的值(换言之,求 $a_l + a_{l+1} + \cdots + a_r$ 的值)。

📥 输入格式

  • 第一行包含两个正整数 $n, q$,表示数列长度和询问个数。保证 $1 \le n, q \le 10^6$。

  • 第二行 $n$ 个整数 $a_1, a_2, \dots, a_n$,表示初始数组。$|a_i| \le 10^6$。

  • 接下来 $q$ 行,每行表示一个操作,格式如下:

    • 1 i x:表示将 $a_i$ 加上 $x$;
    • 2 l r:表示查询 $\sum_{i=l}^r a_i$。

保证 $1 \le i, l \le r \le n$,$|x| \le 10^6$。


📤 输出格式

对于每一个 2 l r 操作输出一行,表示所求的结果。


3 2
1 2 3
1 2 0
2 1 3
6

📊 数据范围与提示

  • 对于所有数据,保证:

    • $1 \le n, q \le 10^6$
    • $|a_i| \le 10^6$
    • $|x| \le 10^6$
    • $1 \le i, l, r \le n$