最好的宝石
时间限制: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

输出

复制
8 1
10 1