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$
- 所有输入值均为整数。