AT_abc432_e [ABC432E] Clamp
题目描述
给定一个长度为 $N$ 的整数序列 $A=(A_1, A_2, \dots, A_N)$。
有 $Q$ 个查询,需要按顺序处理。每个查询有以下两种格式之一:
- `1 x y`:将 $A_x$ 的值改为 $y$。
- `2 l r`:求 $\displaystyle \sum_{1\leq i\leq N} \max(l, \min(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\ (1\leq i\leq Q)$ 表示第 $i$ 个查询,格式为以下之一:
> $1\ x\ y$
> $2\ l\ r$
输出格式
设 $K$ 为第二种类型查询的个数。输出共 $K$ 行,第 $i$ 行($1\leq i\leq K$)为第 $i$ 个第二种类型查询的答案。
说明/提示
### 样例解释 1
初始时 $A=(4,3,2)$。
- 第一个查询:将 $A_1$ 改为 $7$,$A$ 变为 $(7,3,2)$。
- 第二个查询:输出 $\max(3, \min(5, 7))+\max(3, \min(5, 3))+\max(3, \min(5, 2))=5+3+3=11$。
- 第三个查询:将 $A_2$ 改为 $0$,$A$ 变为 $(7,0,2)$。
- 第四个查询:输出 $\max(4, \min(2, 7))+\max(4, \min(2, 0))+\max(4, \min(2, 2))=4+4+4=12$。
### 数据范围
- $1 \leq N \leq 5\times 10^5$
- $1 \leq Q \leq 2\times 10^5$
- $0 \leq A_i \leq 5\times 10^5$
- 对于第一种类型的查询,
- $1 \leq x \leq N$
- $0 \leq y \leq 5\times 10^5$
- 对于第二种类型的查询,
- $0 \leq l,r \leq 5\times 10^5$
- 所有输入均为整数。
由 ChatGPT 5 翻译