Cod sursa(job #1359800)

Utilizator valexVochescu Alexandru valex Data 25 februarie 2015 07:35:36
Problema Heapuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <stdio.h>
#include <algorithm>

#define Dim 200010


using namespace std;


int v[Dim];


inline void afisare()
{
    for(int i=1;i<v[0];++i)
        printf("%d ",v[i]);
    printf("%d\n",v[v[0]]);
}


inline bool cmp(const int &a,int &b)
{
    return a>b;
}


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

    scanf("%d",&n);
    for (int i=1;i<=n;i++)
    {
        scanf("%d",&op);
        if (op==1)
        {
            scanf("%d",&x);
            v[++v[0]]=x;
            push_heap(v+1,v+v[0]+1,cmp);
        }
        else if (op==2)
        {
            scanf("%d",&x);
            v[x]=v[n];
            v[0]--;
            sort_heap(v+1,v+v[0]+1);
        }
        else printf("%d\n",v[1]);
    }
    return 0;
}