Pagini recente » Cod sursa (job #833874) | Cod sursa (job #964705) | Cod sursa (job #2390648) | Cod sursa (job #2532770) | Cod sursa (job #720729)
Cod sursa(job #720729)
#include<stdio.h>
#include<assert.h>
#include<set>
#include<vector>
#include<queue>
#include<algorithm>
using namespace std;
const int kminval = -1;
int qrys;
multiset<int> my_troll_set;
multiset<int>::iterator it;
vector<int> inserted;
void read(){
assert(freopen("heapuri.in", "r", stdin) != NULL);
scanf("%d", &qrys);
}
void write(){
assert(freopen("heapuri.out", "w", stdout) != NULL);
int q_type, q_val;
for(int i = 1; i <= qrys; ++i){
scanf("%d", &q_type);
if(q_type == 1){
scanf("%d", &q_val);
inserted.push_back(q_val);
my_troll_set.insert(q_val);
}
else if(q_type == 2){
scanf("%d", &q_val);
it = my_troll_set.lower_bound(inserted[q_val - 1]);
my_troll_set.erase(it);
}
else
printf("%d\n", *my_troll_set.upper_bound(kminval));
}
}
int main(){
read();
write();
return 0;
}