Pagini recente » Cod sursa (job #935005) | Cod sursa (job #250006) | Cod sursa (job #616570) | Cod sursa (job #2408071) | Cod sursa (job #2337985)
#include <fstream>
#include <vector>
#define date "heapuri.in"
#define rezultate "heapuri.out"
#define pb push_back
#define len 100000010
#define minn(a, b) (a < b ? a : b)
using namespace std;
typedef unsigned int uint;
typedef unsigned short ushort;
ifstream in(date);
ofstream out(rezultate);
vector<int> v;
uint N, ap[len], cmin;
uint new_min()
{
for(uint i = cmin + 1; ; ++i)
if(ap[i])
return i;
}
int main()
{
in >> N;
for(uint i = 1; i <= N; ++i)
{
ushort cod;
in >> cod;
if(cod == 1 || cod == 2)
{
uint x;
in >> x;
if(cod == 1)
{
++ap[x];
cmin = minn(cmin, x);
v.pb(x);
}
else{
--ap[v[x - 1]];
v[x - 1] = -1;
}
continue;
}
if(!ap[cmin])
cmin = new_min();
out << cmin << '\n';
}
return 0;
}