洛谷P3369 【模板】普通平衡树

 1 #include<bits/stdc++.h> 
 2 using namespace std;
 3 vector<int> q;
 4 int n,opt,x;
 5 int main()
 6 {
 7     scanf("%d",&n);
 8     while(n--)
 9     {
10         scanf("%d%d",&opt,&x);
11         switch(opt)
12         {
13             case 1:q.insert(lower_bound(q.begin(),q.end(),x),x);break;
14             case 2:q.erase(lower_bound(q.begin(),q.end(),x));break;
15             case 3:printf("%d\n",lower_bound(q.begin(),q.end(),x)-q.begin()+1);break;
16             case 4:printf("%d\n",q.at(x-1));break;
17             case 5:printf("%d\n",q.at(lower_bound(q.begin(),q.end(),x)-q.begin()-1));break;
18             case 6:printf("%d\n",q.at(upper_bound(q.begin(),q.end(),x)-q.begin()));break;
19         }
20     }
21     return 0;
22 } 

 

posted @ 2019-01-19 21:01  宇興  阅读(175)  评论(0编辑  收藏  举报