1.某数据压缩方法描述如下:
1) 原始数据中,某数不为0且相邻无重复,压缩数据用该数据表示;
2) 原始数据中,某数为0且相邻无重复,压缩数据用两个数表示,第1个位0 ,第2个为0;
3) 原始数据中,某数据相邻有重复,压缩数据用3个数表示:第1个位0,第2个为重复数的个数,第3个为该数本身;
根据上述压缩方法,对应的解压缩方法示例如图3所示。

小明编写了一个解压缩程序,功能如下:窗体加载时,自动读取压缩数据,依次存储在数组元素a[1]、a[2]、a[3]……中,压缩数据的个数存储在变量n中,解压缩后的数据依次存储在数组元素b[1]、b[2]、b[3]……中。
输入格式:
输入数据两行,第一行一个数n,代表压缩数据个数;第二行n个数字,代表压缩数据。
输出格式:
输出文件仅有一行,为解压缩后的数据。
输入样例:
6
25 0 0 0 7 78
输出样例:
25 0 78 78 78 78 78 78 78
实现上述功能程序如下,请在划线处填入合适代码。
var
a:array[1.. 1000] of integer;
b:array[L . 1000] of integer;
pa, pb, n, firstdata, count, i: integer;
begin
readln(n);
for i:=1 to n do
read(a[i]);
pa:=1;
pb:=1 ;
while pa<=n do
begin
firstdata:=a[pa];
if firstdata<>0 then
begin
b[pb]:= firstdata;
pa:=pa+1;
pb:=pb+1;
end
else
begin
count:=a[pa+1];
if count=0 then
begin
b[pb]:=0;
pa:= pa+2 ;
pb:=pb+1
end
else
begin
for i:=1 to count do
begin
b[pb]:=a[pa+2];
pb:= pb+1 ;
end;
pa:=pa+;
end;
end;
end;
for i:=1 to pb-1 do write (b[i],' ');
end.