Pagini recente » Cod sursa (job #373638) | Cod sursa (job #3154063) | Cod sursa (job #1931995) | Cod sursa (job #1807323) | Cod sursa (job #1061951)
#include <iostream>
#include <string>
#include <stdlib.h>
#include <assert.h>
#include <time.h>
#include <algorithm>
#include <vector>
#include <cstdio>
#include <cstring>
#include <fstream>
#include <queue>
#include <cstdlib>
#include <iomanip>
#include <cmath>
#include <stdarg.h>
#include <stdio.h>
#include <set>
using namespace std;
//#include <unordered_map>
#define NMAX 200001
set <int> heap;
int main()
{
FILE *f = fopen ("heapuri.in", "r");
FILE *g = fopen ("heapuri.out", "w");
int cod; int k = 0, N, pos[NMAX];
fscanf (f, "%d", &N);
for (int i = 0; i < N; i++)
{
fscanf (f, "%d", &cod);
int x;
if ( cod == 1 || cod == 2 )
{
fscanf (f, "%d", &x);
if ( cod == 1 )
{
heap.insert( x );
pos[++k] = x;
}
else
{
heap.erase( pos[x] );
}
}
else
if ( cod == 3 )
{
set<int>::iterator it = heap.begin();
fprintf (g, "%d\n", *it);
}
}
fclose(f);
fclose(g);
return 0;
}