CF1406D Three Sequences
题目描述
给定一个长度为 $n$ 的整数序列 $a_1, a_2, \ldots, a_n$。
你需要构造两个长度为 $n$ 的整数序列 $b$ 和 $c$,使得:
- 对于每个 $i$($1 \leq i \leq n$),都有 $b_i + c_i = a_i$;
- 序列 $b$ 是非递减的,即对于每个 $1 < i \leq n$,都有 $b_i \geq b_{i-1}$;
- 序列 $c$ 是非递增的,即对于每个 $1 < i \leq n$,都有 $c_i \leq c_{i-1}$。
你需要最小化 $\max(b_i, c_i)$,也就是说,最小化 $b$ 和 $c$ 两个序列中的最大值。
此外,会有 $q$ 次修改,第 $i$ 次修改由三个整数 $l, r, x$ 描述。你需要将 $x$ 加到 $a_l, a_{l+1}, \ldots, a_r$ 上。
你需要分别输出初始序列以及每次修改后的序列的最小可能的 $\max(b_i, c_i)$。
输入格式
第一行包含一个整数 $n$($1 \leq n \leq 10^5$)。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($-10^9 \leq a_i \leq 10^9$)。
第三行包含一个整数 $q$($1 \leq q \leq 10^5$)。
接下来的 $q$ 行,每行包含三个整数 $l, r, x$($1 \leq l \leq r \leq n, -10^9 \leq x \leq 10^9$),表示一次修改。
输出格式
输出 $q+1$ 行。
第 $i$ 行($1 \leq i \leq q+1$)输出第 $i-1$ 次修改后序列的答案。
说明/提示
在第一个测试样例中:
- 初始序列 $a = (2, -1, 7, 3)$。一种可行的 $b=(-3,-3,5,5), c=(5,2,2,-2)$。
- 第一次修改后 $a = (2, -4, 4, 0)$。一种可行的 $b=(-3,-3,5,5), c=(5,-1,-1,-5)$。
- 第二次修改后 $a = (2, -4, 6, 2)$。一种可行的 $b=(-4,-4,6,6), c=(6,0,0,-4)$。
由 ChatGPT 4.1 翻译