Pagini recente » Cod sursa (job #1315824) | Cod sursa (job #1246996) | Cod sursa (job #2036787) | Cod sursa (job #1143004) | Cod sursa (job #827584)
Cod sursa(job #827584)
#include <cstdio>
#include <queue>
#include <algorithm>
#define NMAX 200001
using namespace std;
FILE *fin = fopen("heapuri.in", "r");
FILE *fout = fopen("heapuri.out", "w");
int N, Times;
int A[NMAX];
priority_queue < pair<int, int>, vector<pair<int, int> >, greater<pair<int, int> > > Q;
void ReadData() {
int i, val, cod;
fscanf(fin, "%d", &N);
for(i = 1; i <= N; ++ i) {
fscanf(fin, "%d", &cod);
if(cod == 3) {
while(A[Q.top().second]) Q.pop();
fprintf(fout, "%d\n", Q.top().first);
continue;
}
fscanf(fin, "%d", &val);
if(cod == 1)
Q.push(make_pair(val, ++ Times));
if(cod == 2)
A[val] = 1;
}
}
int main() {
ReadData();
return 0;
}