AT_abc442_d [ABC442D] Swap and Range Sum

题目描述

给你一个长度为 $N$ 的序列 $A=(A_1,A_2,\dots,A_N)$。 按顺序处理 $Q$ 个请求。每个请求的格式如下: - `1 x`:交换 $A_x$ 和 $A_{x+1}$ 的值。 - `2 l r`:查找 $\displaystyle \sum_{l\leq i\leq r} A_i$ 的值。

输入格式

输入内容按如下格式给出: >$N$ $Q$ >$A_1$ $A_2$ $\dots$ $A_N$ >$\text{query}_1$ >$\text{query}_2$ >$\vdots$ >$\text{query}_Q$ 这里,$\text{query}_i$ 表示第 $i$ 次请求,并以下列格式之一给出: >$1$ $x$ >$2$ $l$ $r$

输出格式

设 $q$ 为第二种类型的请求次数。 输出 $q$ 行。第 $i(1\leq i \leq q)$ 行应该包含对第 $i$ 次第二类请求的回答。

说明/提示

#### 样例解释 1 - 在第 $1$ 次请求中,交换 $A_2$ 和 $A_3$ 的值。这样就得到了 $A=(2,1,7,8)$。 - 在第 $2$ 次请求中,找出 $A_1+A_2$ 的值。答案是 $2+1=3$。 - 在第 $3$ 次请求中,交换 $A_1$ 和 $A_2$ 的值。这样就得到了 $A=(1,2,7,8)$。 - 在第 $4$ 次请求中,找出 $A_2+A_3+A_4$ 的值。答案是 $2+7+8=17$。 #### 数据规模与约定 - $2\leq N \leq 2\times 10^5$ - $1\leq Q \leq 5\times 10^5$ - $1\leq A_i \leq 10^4$ - 对于第一类请求,$1\leq x \leq N-1$ - 对于第二类请求,$1\leq l\leq r \leq N$ - 所有输入值均为整数。