题目描述
您需要写一种数据结构,来维护一些数( 都是 10910^9109 以内的数字)的集合,最开始时集合是空的。其中需要提供以下操作,操作次数 qqq 不超过 10410^4104:
查询 xxx 数的排名(排名定义为比当前数小的数的个数 +1+1+1。若有多个相同的数,因输出最小的排名)。
查询排名为 xxx 的数。
求 xxx 的前驱(前驱定义为小于 xxx,且最大的数)。若未找到则输出 −2147483647-2147483647−2147483647。
求 xxx 的后继(后继定义为大于 xxx,且最小的数)。若未找到则输出 214748364721474836472147483647。
插入一个数 xxx。
输入格式
无
输出格式
无
输入输出样例
输入 #1
7
5 1
5 3
5 5
1 3
2 2
3 3
4 3
输出 #1
2
3
1
5
#include <iostream>
#include <algorithm>
#include <vector>
#include <climits>
using namespace std;
int main() {
int n;
cin >> n;
vector<int>v;
int id, data