#9849. 【模板】树状数组维护前缀最大值
【模板】树状数组维护前缀最大值
题目描述
维护一个长度为 的数组 ,初始时所有元素均为 。有 次操作,每次操作为以下两种之一:
1 x v:将 更新为 。(即若 大于当前位置的原值,则将其修改为 ,否则不变)2 x:查询前缀最大值 。
请你对每次查询操作输出相应的结果。
输入格式
第一行包含两个整数 ,分别表示数组长度和操作次数。
接下来 行,每行表示一次操作,格式如下:
1 x v表示第一种操作(, 为整数);2 x表示第二种操作()。
输出格式
对于每个 2 x 操作,输出一行一个整数,表示查询到的前缀最大值。
样例
5 6
1 2 5
2 3
1 1 3
2 3
1 2 7
2 3
5
5
7
样例解释
初始数组:[0, 0, 0, 0, 0]
1 2 5:令 ,数组变为[0, 5, 0, 0, 0]。2 3:查询前三个元素的最大值,为 ,输出5。1 1 3:令 ,数组变为[3, 5, 0, 0, 0]。2 3:查询前三个元素的最大值,为 ,输出5。1 2 7:令 ,数组变为[3, 7, 0, 0, 0]。2 3:查询前三个元素的最大值,为 ,输出7。
数据范围与提示
- 对于 的数据,;
- 对于 的数据,,,。