var o,n,i,j,x,t,i1,temp,k:longint;
a,b:array[1..100000] of longint;
begin
readln(n);
for o:=1 to n do
begin
readln(x);
i:=1;
if x>0 then
if j<i then begin a[i]:=x;j:=j+1;i1:=i;
while i1>1 do
if a[i1 shr 1]>a[i1] then begin
t:=a[i1 shr 1];a[i1 shr 1]:=a[i1];a[i1]:=t;
i1:=i1 shr 1;
end
else
break;
end
else if x<a[1] then begin k:=k+1;b[k]:=a[1];a[1]:=x;end
else begin k:=k+1;b[k]:=x;i1:=temp;
while 2*i1<=n do
begin
temp:=i1;
if a[2*i1]<a[temp] then temp:=2*i1;
if a[2*i1+1]<a[temp] then temp:=2*i1+1;
if temp=i1 then break;
t:=a[temp];a[temp]:=a[i1];a[i1]:=t;
i1:=temp;
end;
end;
end;
if x=-1 then begin writeln(a[1]);i:=i+1;end;
end.
以上是我编的代码,但是只有一个测试样例,谁帮我其他样例测下
a,b:array[1..100000] of longint;
begin
readln(n);
for o:=1 to n do
begin
readln(x);
i:=1;
if x>0 then
if j<i then begin a[i]:=x;j:=j+1;i1:=i;
while i1>1 do
if a[i1 shr 1]>a[i1] then begin
t:=a[i1 shr 1];a[i1 shr 1]:=a[i1];a[i1]:=t;
i1:=i1 shr 1;
end
else
break;
end
else if x<a[1] then begin k:=k+1;b[k]:=a[1];a[1]:=x;end
else begin k:=k+1;b[k]:=x;i1:=temp;
while 2*i1<=n do
begin
temp:=i1;
if a[2*i1]<a[temp] then temp:=2*i1;
if a[2*i1+1]<a[temp] then temp:=2*i1+1;
if temp=i1 then break;
t:=a[temp];a[temp]:=a[i1];a[i1]:=t;
i1:=temp;
end;
end;
end;
if x=-1 then begin writeln(a[1]);i:=i+1;end;
end.
以上是我编的代码,但是只有一个测试样例,谁帮我其他样例测下