支持添加员工,整体加工资,整体减工资,查询第 k k k 大工资的操作,若工资小于 m i n min min ,则离开公司。求出所有离开公司的员工数量。 0 ≤ n ≤ 3 × 1 0 5 0 \leq n \leq 3 \times 10^5 0≤n≤3×105, 0 ≤ m i n ≤ 1 0 9 0 \leq min \leq 10^9 0≤min≤109。
对于题中的修改工资操作,先用 a d d add add 记录下来,在加入新员工操作时只用在平衡树中加入 x − a d d x-add x−add ,这样就记录下员工工资间的相对大小,在取出数以后在加回去 a d d add add 即可。对于减工资操作,循环取出最小的相对工资 F i n d K t h ( r o o t , 1 ) FindKth(root,1) FindKth(root,1) ,如果小于 m i n n − a d d minn-add minn−add ,则删掉。最后是取出工资第 k k