时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
牛牛有n个宝石,第i个宝石的价值是w[i].
有m个操作,操作分为两种类型
− Change x y 把第x个宝石的价值改成 y
− Ask l r 询问区间[l,r]内宝石的最大价值,和最大价值的宝石有多少个。
输入描述:
第一行两个整数 n , m (1 ≤ n,m ≤ 2e5)
第二行有n个整数 w[i] (0 ≤ w[i] ≤ 1e9)
接下来m行,每行代表一个操作。具体见题目描述。
输出描述:
每次询问输出一行,每行两个整数 val cnt,val代表所有宝石中的最大价值,cnt代表价值最大的宝石有多少个。
示例1
输入
复制
5 3
2 4 3 6 8
Ask 1 5
Change 2 10
Ask 1 3