Pagini recente » Cod sursa (job #2315685) | Cod sursa (job #1083427) | Cod sursa (job #2651213) | Cod sursa (job #818862) | Cod sursa (job #235462)
Cod sursa(job #235462)
#include <stdio.h>
#define maxn 200010
#define inf 1000000001
int N, NR, IND;
int A[maxn], V[maxn], P[maxn];
int main()
{
freopen("heapuri.in", "r", stdin);
freopen("heapuri.out", "w", stdout);
int i, j, best, cnt, cod, x;
best = inf, cnt = 0;
scanf("%d ", &N);
for (i=1; i<=N; i++)
{
scanf("%d ", &cod);
if (cod == 1)
{
IND++;
scanf("%d ", &A[IND]);
V[++NR] = IND;
P[IND] = NR;
if (A[IND] < best) best = A[IND], cnt = 0;
if (A[IND] == best) cnt++;
}
if (cod == 2)
{
scanf("%d ", &x);
if (A[x] == best) cnt--;
V[P[x]] = V[NR--];
P[V[x]] = x;
if (cnt == 0)
{
best = inf, cnt = 0;
for (j=1; j<=NR; j++)
{
if (A[V[j]] < best) best = A[V[j]], cnt = 0;
if (A[V[j]] == best) cnt++;
}
}
}
if (cod == 3) printf("%d\n", best);
}
return 0;
}