记录编号 1543 评测结果 AAAAAAAAAA
题目名称 渡轮问题 最终得分 100
用户昵称 Gravatarzpl123 是否通过 通过
代码语言 Pascal 运行时间 0.888 s
提交时间 2008-09-03 21:02:58 内存使用 0.00 MiB
显示代码纯文本
program maxxl;
var
n,m:integer;
x:array[1..10000,1..3]of integer;

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

procedure main;
var
i,j,k,l:integer;
begin
m:=n;
for i:=n-1 downto 1 do
 begin
 k:=0;l:=0;
 for j:=i+1 to n do
  begin
  if (x[j,1]>=x[i,1])and(x[j,2]>l) then
   begin
   k:=j;
   l:=x[j,2];
   x[i,2]:=l+1;
   x[i,3]:=k;
   end;
  if x[i,2]>=x[m,2] then m:=i;
  end;
 end;
end;

procedure print;
begin
writeln(x[m,2]);
repeat
write(x[m,1],' ');
m:=x[m,3];
until m=0;
close(input);
close(output);
end;

begin
ini;
main;
print;
end.