logo AlgoBeat OnlineJudge
登录 注册

#200251. 扶苏的问题

内存限制:512 MiB 时间限制:2000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

给定一个长度为 的序列 ,要求支持如下三个操作:

  1. 给定区间 ,将区间内每个数都修改为
  2. 给定区间 ,将区间内每个数都加上
  3. 给定区间 ,求区间内的最大值。

输入格式

第一行是两个整数,依次表示序列的长度 和操作的个数
第二行有 个整数,第 个整数表示序列中的第 个数
接下来 行,每行表示一个操作。每行首先有一个整数 ,表示操作的类型。

  • ,则接下来有三个整数 ,表示将区间 内的每个数都修改为
  • ,则接下来有三个整数 ,表示将区间 内的每个数都加上
  • ,则接下来有两个整数 ,表示查询区间 内的最大值。

输出格式

对于每个 的操作,输出一行一个整数表示答案。

样例

样例输入 1

6 6
1 1 4 5 1 4
1 1 2 6
2 3 4 2
3 1 4
3 2 3
1 1 6 -1
3 1 6

样例输出 1

7
6
-1

样例输入 2

4 4
10 4 -3 -7
1 1 3 0
2 3 4 -4
1 2 4 -9
3 1 4

样例输出 2

0

数据范围与提示

数据规模与约定

  • 对于 的数据,
  • 对于 的数据,
  • 对于 的数据,
  • 对于 的数据,
  • 对于 的数据,
  • 对于 的数据,

提示

请注意大量数据读入对程序效率造成的影响。