记录编号 4092 评测结果 AAAAAAAAAA
题目名称 渡轮问题 最终得分 100
用户昵称 GravatarReimBurSe. 是否通过 通过
代码语言 Pascal 运行时间 0.565 s
提交时间 2008-10-13 20:29:12 内存使用 0.68 MiB
显示代码纯文本
Program maxxl;

Type
sc=array [1..3,1..50000] of longint;

Var
s:sc;
temp,y,k,i,j,n:longint;

Begin
assign(input,'maxxl.in');
assign(output,'maxxl.out');
reset(input);
rewrite(output);
readln(n);
for i:=1 to n do begin
 readln(s[1,i]);
 s[2,i]:=1;
 s[3,i]:=0;
end;

for i:=n-1 downto 1 do begin
 y:=0; k:=0;
 for j:=i+1 to n do begin
  if (s[1,j]>=s[1,i]) and (s[2,j]>y) then begin
   y:=s[2,j];
   k:=j;
  end;
 end;
 if k<>0 then begin
  s[2,i]:=s[2,k]+1;
  s[3,i]:=k;
 end;
end;
temp:=0;
for i:=1 to n do begin
 if temp<s[2,i] then begin
  temp:=s[2,i];
  j:=i;
 end;
end;
writeln(s[2,j]);
write(s[1,j],' ');
k:=s[3,j];
for i:=1 to (s[2,j]-1) do begin
 write(s[1,k],' ');
 k:=s[3,k];
end;
close(input);
close(output);
End.