Cod sursa(job #2954354)

Utilizator unomMirel Costel unom Data 14 decembrie 2022 00:29:37
Problema Heapuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.11 kb
#include<bits/stdc++.h>

using namespace std;

vector<int> v;
vector<int> timp;

int main()
{
    ifstream f("heapuri.in");
    ofstream g("heapuri.out");
    int n, cod, x;

    f>>n;
    for(int i = 1; i<=n; i++)
    {
        cod = 0;
        f>>cod;
        if(cod == 1)
        {
            f>>x;
            v.push_back(x);
            make_heap(v.begin(), v.end());
            timp.push_back(x);
        }
        else if(cod == 2)
        {
            f>>x;
            int y;
            y = timp[x-1];
            timp.erase(v.begin() + x);

            for(int i = 0; i<v.size(); i++)
            {
                if(y == v[i])
                {
                    v.erase(v.begin() + i);
                }
            }

            make_heap(v.begin(), v.end());
        }
        else
        {
            int minn = 9999;
            for(int i = 0; i<v.size()-1; i++)
            {
                if(v[i] < minn)
                {
                    minn = v[i];
                }
            }
            g<<minn<<endl;
        }
    }


    return 0;
}