luogu#P8024. [ONTAK2015] Stumilowy sad

[ONTAK2015] Stumilowy sad

题目背景

Subtask 0 为原数据,Subtask 1 为 hack 数据。

题目描述

在一条笔直的道路上从左到右一共有 nn 片区域,每一片区域一开始都种着一棵树,其中第 ii 片区域种着高度为 hih_i 的树。接下来你需要处理 qq 个操作:

  • 1 l r c:将第 ll 片区域到第 rr 片区域内的所有树的高度拔高 cc 个单位。
  • 2 l r h:将一把刀固定在高度为 hh 的空中,对第 ll 片区域到第 rr 片区域内的所有树进行砍伐。
  • 3 l r h:往第 ll 片区域到第 rr 片区域内的每个区域种上一棵高度为 hh 的树。
  • 4 l r:查询第 ll 片区域到第 rr 片区域内最高的树的高度。

注:本题中的高度为相对于某个水平面的高度,也就是说可能会有负数的出现

输入格式

第一行,两个整数 n,qn, q

第二行,nn 个整数 h1,h2,,hnh_1, h_2, \cdots, h_n

接下来 qq 行,每行三或四个整数 op,l,r,cop, l, r, cop,l,r,hop, l, r, hop,l,rop, l, r

输出格式

若干行,每行一个整数,表示对应查询的结果。

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

提示

对于 100%100\% 的数据,1n,q5×1051 \leq n, q \leq 5 \times 10^51hi1091 \leq h_i \leq 10^91lrn1 \leq l \leq r \leq n0c5000 \leq |c| \leq 5001h1091 \leq h \leq 10^9