CF935F Fafa and Array

题目描述

Fafa 有一个长度为 $n$ 的正整数数组 $A$,函数 $f(A)$ 定义如下:![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF935F/dc9a0a0772798ba9fb8b149f527b509b8571b93b.png)。他需要进行 $q$ 次两种类型的操作: - $1\ l\ r\ x$ —— 若将 $x$ 加到区间 $[l, r]$ 内的某一个元素上(你可以选择加到哪一个元素),求 $f(A)$ 的最大可能值。注意,这种操作不会实际改变数组。 - $2\ l\ r\ x$ —— 将区间 $[l, r]$ 内的所有元素都增加 $x$。 注意,类型 $1$ 的操作不会影响数组元素。

输入格式

第一行包含一个整数 $n$ $(3 \leq n \leq 10^{5})$,表示数组的长度。 第二行包含 $n$ 个正整数 $a_1, a_2, ..., a_n$ $(0 < a_i \leq 10^9)$,表示数组的元素。 第三行包含一个整数 $q$ $(1 \leq q \leq 10^{5})$,表示操作的数量。 接下来 $q$ 行,每行描述一次操作,包含四个整数 $t_i, l_i, r_i, x_i$,$t_i \in \{1, 2\}$,$1 \leq l_i \leq r_i \leq n$,$1 \leq x_i \leq 10^9$。 保证至少有一次类型 $1$ 的操作。

输出格式

对于每个类型 $1$ 的操作,输出该操作的答案。

说明/提示

由 ChatGPT 4.1 翻译