Cod sursa(job #2295459)

Utilizator isav_costinVlad Costin Andrei isav_costin Data 3 decembrie 2018 17:58:17
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <cstdio>
#include <set>

#define MAXN 200000

using namespace std;

multiset<int> h;
int vechime[MAXN+5];

inline int adauga( int k )
{
  h.insert(k);
  vechime[++vechime[0]]=k;
}

inline int elimina( int k )
{
  h.erase(vechime[k]);
}

int main()
{
  freopen( "heapuri.in", "r", stdin );
  freopen( "heapuri.out", "w", stdout );

  int n, q, x;

  scanf( "%d", &n );

  while( n )
  {
    scanf( "%d", &q );

    if( q==1 )
    {
      scanf( "%d", &x );

      adauga(x);
    }
    else
      if( q==2 )
      {
        scanf( "%d", &x );

        elimina(x);
      }
      else
        printf( "%d\n", *h.begin() );

    n--;
  }

  return 0;
}