#G0129. 拿取糖果【2025欢乐赛T3】

拿取糖果【2025欢乐赛T3】

题目描述

江桥正在分发糖果!

糖果共有 nn 种,第 ii 种糖果初始有 aia_i 颗。

接下来会有 qq 名小朋友过来,每名小朋友只会执行下列操作之一:

拿取。格式为 1 l r k,表示从当前糖果中拿取第 ll 种到第 rr 种糖果各 kk 颗,如果某种糖果不够 kk 颗,则全部拿走。

查询。格式为 2 l r,表示查询当前第 ll 种到第 rr 种糖果总共还剩下多少颗。

由于江桥得知你编程技艺高超,因此他特意请你来帮他回答每次查询操作的答案。

输入格式

第一行两个正整数 n,qn,q,表示糖果种类数和小朋友的数量。

接下来一行 nn 个正整数 aia_i,表示第 ii 种糖果的初始数量。

接下来 qq 行,每行首先读入一个操作数 opop,如果 op=1op = 1,则表示拿取操作,再继续输入三个正整数 l,r,kl,r,k 表示从当前糖果中拿取第 ll 种到第 rr 种糖果各 kk 颗,如果某种糖果不够 kk 颗,则全部拿走。如果 op=2op = 2,则表示查询操作,再继续输入两个正整数 l,rl,r,表示查询当前第 ll 种到第 rr 种糖果总共还剩下多少颗。

输出格式

对于每次查询操作,输出一行一个数字表示答案。

5 6
5 3 8 6 7
1 1 3 2
2 2 3
1 2 5 3
2 1 3
1 4 5 4
2 1 5
7
6
6

样例解释

数据规模与约定

下发文件

下发文件对应子任务 33

有合理的子任务依赖。

子任务编号 nn \leq 特殊性质 分值
11 22 2020
22 5×1035 \times 10^3 ai,k105a_i,k \leq 10^5 3030
33 5050

对于 100%100\% 的数据:保证 $1 \leq n,q \leq 5 \times 10^3,1 \leq a_i,k\leq 10^9,op \in \{1,2\}, 1 \leq l \leq r \leq n$。