Cod sursa(job #1148500)

Utilizator dumytruKana Banana dumytru Data 20 martie 2014 20:36:32
Problema Heapuri Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 1.13 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <set>
#include <algorithm>
#include <utility>

using namespace std;
set <int> heap;
set<pair<int,int> > v;
set<pair<int,int> >::iterator st,ed,it;



int main()
{
    ifstream f("heapuri.in");
    ofstream g("heapuri.out");
    unsigned t;
    int r,i,x=1,n,step;
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>t;
        if(t==3)g<<*heap.begin()<<'\n';
        else if(t==2)
        {
            f>>r;
            /*
            st=v.begin();
            ed=v.end();
            for(;st!=ed;)
            {
                it=(st+ed)/2;
                if(*it.first==r)break;
                else if(*it.first<r){st=it;}
                else ed=it;
            }
            */
            for(it=v.begin();it!=v.end();it++)
            {
                if((*it).first == r)break;
            }
            heap.erase((*it).second);
            v.erase(it);
        }
        else if(t==1)
        {
            f>>r;
            heap.insert(r);
            v.insert(make_pair(x,r));
            x++;
        }
    }
    return 0;
}