luogu#P6859. 蝴蝶与花

蝴蝶与花

题目背景

Amazing John 做了一个梦,梦到他上辈子是只苍茫蝶。

深壑幽兰,雨落苍茫。

怜其折翅,苦其执魔。

琼片织翼,花露饯行。

伶仃蝶碎,兰枯有情。

君不识妾,妾仍思君。

题目描述

Amazing John 很喜欢花。

Amazing John 的花圃里有 nn 朵花,他每天都会在花园里散步。

对于每一朵花 Amazing John 会评价它好看或不好看。被评价好看的花的美丽值为 22,被评价不好看的花的美丽值为 11

我们可以抽象的把这 nn 朵花看做在一条直线上。每次散步时, Amazing John 会从任意一朵花开始,一直往下一朵花走。到任意一朵花结束。在路途中,他会将所有经过的花的美丽值统计下来。(当然包括开始的花和结束的花)

现在 Amazing John 想知道,能否有一种散步方案,使得他从第 ll 朵花走到第 rr 朵花的美丽值之和正好是 ss

为了少走一些路, Amazing John 要你给出在所有方案中 ll 最小的方案。

当然,为了避免在花圃中散步过于单调, Amazing John 随时可能会将一朵花的美丽值更改。

每个询问之间互相独立,即统计过的花朵在下次询问时仍可被统计。

输入格式

第一行两个数 n,mn,m,分别表示花的个数和 Amazing John 的要求个数。

第二行 nn 个数字 aia_i,表示第 ii 朵花的美丽值。

接下来 mm 行,每一行表示一个询问操作或一个修改操作。

询问操作格式为 A s,表示询问是否有一种散步方案使得美丽值之和为 ss

修改操作格式为 C i val,表示将第 ii 朵花的美丽值改成 val(val=1val(val=12)2)

输出格式

若有 qqA 操作,输出应有 qq 行。

对于每一个询问,若有合法的方案,输出这个方案的左右端点位置(多种方案时输出左端点最小的方案),否则输出 none

您应该保证 1lrn1\leq l\leq r\leq n

5 4
1 2 2 1 1
A 5
C 1 2
A 5
A 233
1 3
2 4
none

提示

Subtask 1 (20pts)\operatorname{Subtask\ 1}\ (20pts):对于数据点 151\sim 5,满足 1n,m10001\leq n,m\leq 1000

Subtask 2 (30pts)\operatorname{Subtask\ 2}\ (30pts):对于数据点 6106\sim 10,满足 1n,m2.5×1051\leq n,m\leq 2.5\times 10^5

Subtask 3 (50pts)\operatorname{Subtask\ 3}\ (50pts):对于数据点 111511\sim 15,满足 1n,m2×1061\leq n,m\leq 2\times 10^6

对于 100%100\% 的数据,有 1n,m2×106,0s23111\leq n,m\leq 2\times 10^6,0\leq s\leq 2^{31}-1。每次修改操作时 i[1,n],val{1,2}i\in[1,n],val\in\{1,2\}

对于所有数据点,时间限制 2000ms2000\operatorname{ms},空间限制 256MB256\operatorname{MB}