UOJ Logo Universal Online Judge

UOJ

#783. 新年的双区间操作

附件下载 统计

可恶,之前的测试中,每只粉兔都迅速回答出了正确答案。

不甘心的你连看了三集动物世界,终于发现了免子和兔子的细小区别:由于兔子的一生中会不断地用各种算法、数据结构,去寻找最胡的胡萝卜,因此大脑内置了算法逻辑单元 ALU(Algorithmic Logic Unit);而粉免擅长多项式,所以大脑内置的是大小40K的卷积处理单元 CPU(Convolution Processing Unit)。因此对于各种数据结构问题,兔子会比免子算得更快一点,这样你就可以使用 ctime 区分粉兔和粉免啦。

具体来说,免子只会做一些经典的数据结构问题,比如区间加减啦,区间取最大值啦,区间打标记啦。但这些都是对单个区间的操作 —— 而兔子是能同时处理多个区间的。

于是你构思了这样的一道带双区间操作的数据结构题来区分兔子和免子:

给定一个长为 n 的初始序列 a1,a2,,an。有 m 个操作,第 i 个操作给出 li,ri,xi,li,ri,yi,表示如果区间 [li,ri] 的最大值大于等于 xi ,那么就将区间 [li,ri]yimax,即对所有满足 lijrij,令aj=max(aj,yi)

现在有 q 次单点修改,每次单点修改一个初始序列的值,你需要在每次修改后求出,如果依次执行 m 个操作,则得到的整个序列的最大值是多少。

输入格式

输入的第一行三个整数 n,m,q,分别表示序列的长度、操作的数量与询问的数量。

接下来的一行,包含 n 个整数 a1,a2,,an,表示初始序列。

接下来 m 行,每行六个整数 li,ri,xi,li,ri,yi,表示固定的 m 个操作。

接下来 q 行,每行两个整数 pi,vi,表示令初始的 api=vi,注意所有修改操作之间不是独立的。

输出格式

q 行,每行一个整数,表示第 i 次修改初始序列之后的答案。

样例一

input

6 5 6
5 3 8 2 6 7
1 4 6 1 5 4
2 5 3 3 5 6
3 5 5 2 4 2
5 6 8 5 6 10
2 5 3 3 5 7
4 1
3 5
2 6
3 1
6 9
6 1

output

8
7
7
7
10
7

样例二

见下发文件

子任务

对于所有数据,1n2×1051m2×1051q6×105|ai|,|xi|,|yi|,|vi|1091lirin1lirin1pin

子任务编号 n m q 特殊性质 分值
1 100 100 500 5
2 105 1000 10
3 4×104 5×104 li=ri=li=ri 10
4 2×105 li=rili=ri 15
5 105 20
6 105 20
7 2×105 6×105 20

提示

本题的输入输出量较大,请选手选择合适的 IO 方式,避免由于 IO 原因造成的超时。

时间限制:4s

空间限制:1GB