AT_abc426_f [ABC426F] Clearance
题目描述
AtCoder Inc. 的在线商店当前销售 $N$ 种商品,第 $i$ 种商品的库存为 $A_i$ 件。
依次处理下面 $Q$ 个订单。第 $i$ 个订单如下:
- 每种编号为 $l_i, l_i+1, \dots, r_i$ 的商品,各购买 $k_i$ 件。如果某商品剩余不足 $k_i$ 件,则购买全部剩余库存。请报告在本次订单中总共购买了多少件商品。
需要注意的是,对 $i < Q$,在处理第 $(i+1)$ 个订单前,要先减少被购买商品的库存。
输入格式
输入按以下格式通过标准输入给出:
> $N$
> $A_1\ A_2\ \dots\ A_N$
> $Q$
> $l_1\ r_1\ k_1$
> $l_2\ r_2\ k_2$
> $\vdots$
> $l_Q\ r_Q\ k_Q$
输出格式
输出 $Q$ 行。
第 $i$ 行应包含在第 $i$ 个订单中购买的商品总数。
说明/提示
### 样例解释 1
本输入包含 $5$ 个订单。
- 初始时,各商品的库存(从第 $1$ 种商品起)分别为 $2, 6, 4, 5, 7, 5$。
- 第一个订单为 $l_1=1,\ r_1=6,\ k_1=1$。
- 本次订单中,各商品分别购买 $1,1,1,1,1,1$ 件,总共 $6$ 件。
- 之后,商品库存变为 $1,5,3,4,6,4$。
- 第二个订单为 $l_2=3,\ r_2=5,\ k_2=4$。
- 本次订单中,各商品分别购买 $0,0,3,4,4,0$ 件,总共 $11$ 件。
- 之后,商品库存变为 $1,5,0,0,2,4$。
- 第三个订单为 $l_3=4,\ r_3=4,\ k_3=1$。
- 本次订单中,各商品分别购买 $0,0,0,0,0,0$ 件,总共 $0$ 件。
- 之后,商品库存变为 $1,5,0,0,2,4$。
- 第四个订单为 $l_4=2,\ r_4=5,\ k_4=1$。
- 本次订单中,各商品分别购买 $0,1,0,0,1,0$ 件,总共 $2$ 件。
- 之后,商品库存变为 $1,4,0,0,1,4$。
- 第五个订单为 $l_5=1,\ r_5=6,\ k_5=100$。
- 本次订单中,各商品分别购买 $1,4,0,0,1,4$ 件,总共 $10$ 件。
- 之后,商品库存变为 $0,0,0,0,0,0$。
### 数据范围
- 所有输入值均为整数。
- $1 \leq N \leq 3 \times 10^5$
- $1 \leq A_i \leq 10^{15}$
- $1 \leq Q \leq 3 \times 10^5$
- $1 \leq l_i \leq r_i \leq N$
- $1 \leq k_i \leq 10^9$
由 ChatGPT 5 翻译