AT_past20_o 超過クエリ
题目描述
给定一个长度为 $N$ 的整数序列 $A=(A_1,A_2,\ldots,A_N)$,初始时 $A$ 的所有元素均为 $0$。在第 $i=1,2,\ldots,T$ 个时间点,序列 $A$ 上会进行如下操作:
- 对 $A_{L_i},A_{L_i+1},\dots,A_{R_i}$ 的每个元素加上 $V_i$。
给定 $Q$ 个询问,按顺序处理。第 $i$ 个询问如下:
- 给定整数 $l_i,r_i,x_i$,输出 $A_{l_i}+A_{l_i+1}+\dots+A_{r_i}$ 第一次达到或超过 $x_i$ 的时间。如果在第 $T$ 次操作后 $A_{l_i}+A_{l_i+1}+\dots+A_{r_i}$ 仍然小于 $x_i$,输出 `-1`。
输入格式
输入按如下格式从标准输入给出:
> $N\ T\ Q$
> $L_1\ R_1\ V_1$
> $L_2\ R_2\ V_2$
> $\vdots$
> $L_T\ R_T\ V_T$
> $l_1\ r_1\ x_1$
> $l_2\ r_2\ x_2$
> $\vdots$
> $l_Q\ r_Q\ x_Q$
输出格式
输出 $Q$ 行。第 $i$ 行输出第 $i$ 个询问的答案。
说明/提示
### 输入样例说明 1
序列 $A$ 的变化过程如下:
- 第 $1$ 次操作后:$(0,0,3,3,3,0)$。
- 第 $2$ 次操作后:$(2,2,5,5,3,0)$。
- 第 $3$ 次操作后:$(2,6,9,9,7,4)$。
各个查询的答案如下:
- 查询 1:$A_2+A_3+A_4+A_5$ 在第 2 次操作后首次达到或超过 15。
- 查询 2:$A_4+A_5$ 在第 1 次操作后首次达到或超过 5。
- 查询 3:第 3 次操作后 $A_6$ 仍然小于 5,故输出 `-1`。
- 查询 4:$A_1+A_2+\dots+A_6$ 在第 3 次操作后首次达到或超过 30。
### 数据范围
- $1\leq N\leq 10^5$
- $1\leq T,Q\leq 10^5$
- $1\leq L_i\leq R_i\leq N$
- $1\leq V_i\leq 10^5$
- $1\leq l_i\leq r_i\leq N$
- $1\leq x_i\leq 10^{15}$
- 所有输入均为整数。
由 ChatGPT 5 翻译