#W1030. 线段树模板_求动态区间最值

线段树模板_求动态区间最值

题目描述

如题,已知一个数列 {ai}\{a_i\},你需要进行下面两种操作:

  1. 1 l r: 输出区间 [l,r][l,r] 之间的最大值。
  2. 2 l r z: 将区间 [l,r][l,r] 每一个数加上 zz

输入格式

第一行包含两个整数 n,qn, q,分别表示该数列数字的个数和操作的总个数。

第二行包含 nn 个用空格分隔的整数 aia_i,其中第 ii 个数字表示数列第 ii 项的初始值。

接下来 qq 行每行包含 3344 个整数,表示一个如题目描述中的操作

输出格式

输出包含若干行整数,即为所有操作 11 的结果。

输入输出样例 #1

输入 #1

10 8
59 85 60 57 72 12 3 27 16 58
1 2 4
2 2 7 30
1 6 7
1 2 6 
2 1 1 50
1 1 8
2 4 6 100
1 2 6

输出 #1

85
42
115
115
202

说明/提示

对于 100%100\% 的数据:1n106,1q1051 \le n \le {10}^6, 1\le q\le 10^50ai,z1040\le a_i,z\le 10^4