Pagini recente » Cod sursa (job #771454) | Cod sursa (job #1497122) | Cod sursa (job #214732) | Cod sursa (job #1880064) | Cod sursa (job #108531)
Cod sursa(job #108531)
var v:array[0..1000000000] of byte;
min,max,sub,nr:longint;
s,s1:string;
c,p:integer;
f,g:text;
procedure insereaza(k:longint);
begin
if k>=max then begin sub:=max; max:=k; end
else if k>sub then sub:=k;
if k<min then min:=k;
if v[k]=0 then v[k]:=1;
end;
procedure cauta(k:longint);
begin
if v[k]=1 then writeln(g,1)
else writeln(g,0);
end;
procedure sterge(k:longint);
begin
if v[k]=0 then writeln(g,-1)
else v[k]:=0;
end;
begin
assign(f,'zeap.in');
reset(f);
assign(g,'zeap.out');
rewrite(g);
min:=0; max:=0; sub:=0; nr:=0;
while not seekeof(f) do
begin
readln(f,s);
if s[1]<>'m' then
begin
p:=3;
while s[p]<>' ' do inc(p);
s1:=copy(s,3,p-3);
val(s1,nr,c);
case s[1] of
'I': insereaza(nr);
'S': sterge(nr);
'C': cauta(nr);
end;
end
else
if s[2]='A' then writeln(g,max-min)
else writeln(g,max-sub);
end;
close(f);
close(g);
end.