Cod sursa(job #680872)

Utilizator d.andreiDiaconeasa Andrei d.andrei Data 16 februarie 2012 01:28:21
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <cstdio>
#include <set>
#include <vector>

using namespace std;

#define file_in "heapuri.in"
#define file_out "heapuri.out"

int Q,Tip,nr=0,V[101000],X;

class MyHeap : private multiset<int>{
	
   public:
	   void baga(const int X){
	      insert(X);
		  V[++nr]=X;
	   }
	   
	   void stergere(const int X){
	      erase(find(V[X]));
	   }
	   
	   void afisare(){
	      printf("%d\n", *begin());    
	   }
};
	   

int main(){
	
 
   
	MyHeap H;
	
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	scanf("%d", &Q);
	
	while(Q--){

		scanf("%d", &Tip);
		
		if (Tip==3){
			H.afisare();
		}
		else
		if (Tip==1){
			scanf("%d", &X);
			H.baga(X);
		}
		else{
			scanf("%d", &X);
			H.stergere(X);
		}
	}
	
	return 0;
}