3738: 奇怪的函数(第一轮04)

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:3 解决:1

题目描述

鸡尾酒有一个奇怪的函数 F(x),这个函数的输入参数是一个正整数 x,为了得 到这个函数的运算结果,这个函数需要依次进行 n  个步骤,每个步骤是如下三 种形式之一:

1. x += vali

2. x = min(x, vali )

3. x = max(x, vali )

依次执行完这 n  个步骤之后,这个函数就可以安心输出答案了。

现在,鸡尾酒得到了这个函数,他想简化这个函数,确切的来说,他有 q  个问 题,每个问题要么是修改这个函数的某一个步骤,要么给定一个x,询问当前 F(x) 的值,请帮助他完成这个过程。

输入

第一行一个正整数 n,表示这个函数的步骤数量。

接下来 n  行,每行两个正整数"opt val",opt(1 ≤ opt ≤ 3)表示这是第几种操作, val  表示这一次操作对应的权值。

接下来一行一个正整数 q,表示问题的个数。

接下来 q  行,每行要么是如下四种操作之一:

“1 pos val“表示把第 pos  个步骤改成  x += val 。

“2 pos val“表示把第 pos  个步骤改成 x  = min(x, val)。

“3 pos val“表示把第  pos  个步骤改成 x = max(x, val)。

“4 x“表示询问,此时 F(x)  是多少。

输出

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

样例输入 复制

10
1 48
1 50
1 180
2 957
1 103
1 100
1 123
3 500
1 66
1 70
3
4 20
4 50
4 700

样例输出 复制

760
790
1419

提示

【数据范围】

对于  100%   的数据:n, q ≤ 300000, 操作  2,3,4  涉及的 val  在[1, 108]之间, 所有加法操作涉及的 val   [1,200]  之间。

 

特殊性质 1:保证所有的  q   个操作都是操作 4。

特殊性质 2:保证任意时刻,操作序列中最多有  10  个取  max, min   的操作。

特殊性质 3:保证任意时刻,操作序列中不存在取 max  的操作。

来源/分类