给定一个长度为 的整数数组 。
连续子数组的坐标压缩定义如下。设该子数组中不同数值的个数为 。将子数组中的每个值 替换为该子数组中严格小于 的不同数值的个数。因此,压缩后的数值范围为 到 ,子数组以外的元素保持不变。
按顺序处理以下三种查询。
1 :对区间 进行坐标压缩。2 :设区间 的最小值为 ,最大值为 。输出该区间中实际存在且最接近 的值。如果有多个不同的值距离相同,输出其中最小的值。每次查询都在先前所有查询执行后的数组上进行。
输入格式如下:
对于每个类型为 2 的查询,将符合条件的数值单独输出一行。
第一次类型 1 查询后,数组变为 。第二次类型 1 查询后,数组变为 。
3 :将区间 中的每个元素都加上整数 。每个查询占一行,格式为以下三种之一:
3 查询中的 。1 的查询总数不超过 次。没有额外限制。
前两个查询中,有两个数值到中点的距离相同,因此输出较小的数值。