Cod sursa(job #1815410)

Utilizator eusebiu_gageaGagea Eusebiu-Andrei eusebiu_gagea Data 25 noiembrie 2016 10:38:01
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <queue>
#include <unordered_map>
using namespace std;
ifstream ka("heapuri.in");
ofstream ki("heapuri.out");

const int N_MAX = 200000;

int n, c, x;
int elemente[N_MAX + 1];

unordered_map<int, int> sters;
priority_queue<int, vector<int>, greater<int> > coada, coada2;

int main()
{
    ka >> n;
    while(n--)
    {
        ka >> c;
        if(c == 1)
        {
            ka >> x;
            elemente[++elemente[0]] = x;
            coada.push(x);
        }
        else if(c == 2)
        {
            ka >> x;
            sters[elemente[x]]++;
        }
        else //if(c == 3)
        {
            while(sters[coada.top()] != 0)
            {
                sters[coada.top()]--;
                coada.pop();
            }
            ki << coada.top() << '\n';
        }
    }
}