#9837. 最高成绩

    ID: 9837 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>树状数组区间最值单点修改线段树对比

最高成绩

题目描述

很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。

输入格式

第一行,有两个正整数 nnmm,分别代表学生的数目和操作的数目。学生 ID\text{ID} 编号分别从 11 编到 nn

第二行包含 nn 个整数,代表这 nn 个学生的初始成绩,其中第 ii 个数代表 ID\text{ID}ii 的学生的成绩。

接下来有 mm 行。每一行包含一个字符 cc(只取 QU)和两个正整数 a,ba,b

  • ccQ 的时候,表示这是一条询问操作,它询问 ID\text{ID}aabb(包括 a,ba,b) 的学生当中,成绩最高的是多少;
  • ccU 的时候,表示这是一条更新操作,如果当前 aa 学生的成绩低于 bb,则把 ID\text{ID}aa 的学生的成绩更改为 bb,否则不改动。

输出格式

对于每一次询问操作输出一行一个整数,表示最高成绩。

5 6
1 2 3 4 5
Q 1 5
U 3 6
Q 3 4
Q 4 5
U 2 9
Q 1 5
5
6
5
9

样例解释

开始的序列为 {1,2,3,4,5}\{1,2,3,4,5\}

第一次操作,询问得到区间 [1,5][1,5] 的最高分为 55

第二次操作后,序列变为 {1,2,6,4,5}\{1,2,6,4,5\}

第三次操作,询问得到区间 [3,4][3,4] 的最高分为 66

第四次操作,询问得到区间 [4,5][4,5] 的最高分为 55

第五次操作后,序列变为 {1,9,6,4,5}\{1,9,6,4,5\}

第六次操作,询问得到区间 [1,5][1,5] 的最高分为 99

数据范围与提示

  • 对于 100%100\% 的数据:$0<n \le 2\times 10^5,0<m<5000, 0 \le \text{成绩} \le 100$。