logo AlgoBeat OnlineJudge
登录 注册

#214649. [DSDOI Round 1] 邓少打音游

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

题目描述

最近邓少迷上了一款七个字母的音游。但是邓少的底力不太好,打不动交互,于是他来向你请教。


定义一个长度至少为 的数组 是一个交互,当且仅当以下条件成立:

对于所有满足 ,都有 成立。(其中 表示数组 的长度)

例如数组 是一个交互,而数组 不是一个交互。

现在,邓少有一个长为 的数组 ,他需要你进行以下三种操作或询问:

  1. 1 l r x,表示将 分别加上

  2. 2 k,询问能满足:

    ,且子数组 是一个交互。

    这一条件的最长的区间

  3. 3 l r,询问子数组 是不是交互。

输入格式

第一行包含两个正整数 ,表示 的长度以及操作个数。

接下来一行包含 个整数,表示数组

接下来 行,每行包含多个整数,表示一次操作,格式如上所述。

输出格式

对于每次询问输出一行,代表答案。

对于询问

  • 若满足要求的区间不存在,则输出 -1
  • 若存在恰好一个满足要求的区间,则输出两个正整数 ,表示这个区间。
  • 若存在多个满足要求的区间,则输出两个正整数 ,表示这些区间中,左端点最小的那个区间。

对于询问 :如果询问的区间是一个交互,输出 Yes,否则输出 No

样例

样例输入 1

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

样例输出 1

-1
2 5
Yes

样例输入 2

7 3
1 2 1 2 3 2 3
2 4
1 3 3 1
2 4

样例输出 2

1 4
4 7

样例输入 3

7 2
16 8 9 7 8 5 9
1 5 7 10
3 1 7

样例输出 3

Yes

数据范围与提示

【数据范围】

对于所有测试数据,保证:

  • 对于操作 ,保证:
  • 对于询问 ,保证
  • 对于询问 ,保证
测试点编号 特殊性质
^ ^
^
  • 特殊性质 :保证没有修改操作。
  • 特殊性质 :保证对于所有修改操作,有
  • 特殊性质 :保证每次修改后,有