給你一個長度為$N$的序列$a_1, a_2, ..., a_n$,以及$Q$個操作,操作有以下幾種:
1. 把一個區間$[l, r]$的每個數字都加上$x$。
2. 問你一個區間$[l, r]$的最大值。
3. 把一個區間$[l, r]$的每個數字都變成$y$。
第一行包含兩個正整數 $N$、$Q$,分別表示序列長度為 $N$ 以及有 $Q$ 筆操作。
第二行包含 $N$ 個正整數,依序表示 $a_1$ 到 $a_N$。
接下來的$Q$ 行,每行為下列三種操作之一:
$1\ l\ r\ x$:把$[l, r]$加上$x$。
$2\ l\ r$:詢問$[l, r]$的最大值。
$3\ l\ r\ y$:把$[l, r]$變成$y$。
$1 \le N,Q \le 10^ 5$、$1 \le a_i \le 10^ 9$、$1 \le x \le 10^ 4$、$1 \le y \le 10^ 9$、$1 \le l \le r \le N$
對於每個詢問,輸出一個整數,表示該區間的最大值。
NEOJ Problem 368
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~6 | $N,Q \le 2000$ | 40 |
2 | 0~11 | 無額外限制 | 60 |