Pagini recente » Cod sursa (job #1476665) | Cod sursa (job #2833241) | Cod sursa (job #1984096) | Cod sursa (job #2492533) | Cod sursa (job #409557)
Cod sursa(job #409557)
{$M 64000000,0}
{$H-,I-,Q-,R-,S-}
{La Hoang
Ngay 3-3-2010}
const
TFI = 'hashuri.in';
TFO = 'hashuri.out';
MaxN = 1000000;
P = 100007;
var
fi, fo: text;
n, x, y, count: longint;
A, Link: array[0..MaxN] of longint;
H: array[0..P] of longint;
(*-----------------------------------*)
procedure Push;
var
u: longint;
begin
inc(count);
u := y mod p;
A[count] := y;
Link[count] := H[u];
H[u] := count;
end;
(*-----------------------------------*)
function Pop(k: longint): longint;
var
u, v, i: longint;
begin
u := y mod P;
i := H[u];
While i <> 0 do
begin
v := A[i];
if y = v then
if k = 1 then
begin
A[i] := -1;
exit;
end else exit(1);
i := Link[i];
end;
Pop := 0;
end;
(*-----------------------------------*)
begin
Assign(fi, TFI); Reset(Fi);
Assign(fo, TFO); Rewrite(fo);
Fillchar(A, sizeof(A), 255);
Fillchar(H, sizeof(H), 0);
count := 0;
Readln(fi, n);
While n > 0 do
begin
dec(n);
Readln(fi, x, y);
if x = 1 then Push else
if x = 2 then Pop(1) else
if x = 3 then Writeln(fo, Pop(0));
end;
CLose(fi);
Close(fo);
end.