#ds203. 线段树打标记1

线段树打标记1

线段树打标记1

题目描述

给nn个数a1,a2,a3,…,ana_1, a_2, a_3, \dots, a_n。

支持qq个操作:

  1. 1 l r d,令所有的ai(l≤i≤r)a_i (l\leq i\leq r)加上dd。
  2. 2 l r,查询max⁡i=lrai\max_{i=l}^r a_i。

输入格式

第一行两个整数n,q(1≤n,q≤2×105)n, q (1\leq n, q\leq 2 \times 10^5)。

接下来一行nn个整数a1,a2,…,an(1≤ai≤109)a_1, a_2, \dots, a_n (1 \leq a_i\leq 10^9)。

接下来qq行,每行一个形如1 l r d或者2 l r的操作,保证1≤l≤r≤n,1≤d≤1091\leq l\leq r\leq n, 1\leq d\leq 10^9。

输出格式

对于每个查询,输出一行,表示答案。

样例输入

5 5
1 2 3 4 5
2 4 5
1 1 5 1
2 1 4
1 2 3 10
2 2 4

样例输出

5
5
14