记录编号 1841 评测结果 AAAAAAAAAA
题目名称 渡轮问题 最终得分 100
用户昵称 Gravatarchengyang 是否通过 通过
代码语言 Pascal 运行时间 10.000 s
提交时间 2008-09-08 21:40:00 内存使用 0.00 MiB
显示代码纯文本
program maxxl(f1,f2);
var
  a:array[1..3,1..10000]of integer;
  f1,f2:text;
  i,j,k,l,n:integer;

procedure print;
var
  i,j,k,l:integer;
begin
  k:=0;
  for i:=n downto 1 do if a[2,i]>=k then
    begin
      k:=a[2,i]; j:=i;
    end;
  writeln(f2,k);
  for l:=1 to k-1 do begin
    write(f2,a[1,j],' ');
    j:=a[3,j];
  end;
  write(f2,a[1,j]);
end;

begin
  assign(f1,'maxxl.in');
  assign(f2,'maxxl.out');
  rewrite(f2); reset(f1);
  readln(f1,n);
  for i:=1 to n do begin
    readln(f1,a[1,i]);
    a[2,i]:=1;
    a[3,i]:=0;
  end;
  for i:=n-1 downto 1 do begin
    l:=0; k:=0;
    for j:=i+1 to n do begin
      if (a[1,j]>=a[1,i])and(a[2,j]>l)then
        begin
          l:=a[2,j]; k:=j;
        end;
      if l>0 then
        begin
          a[2,i]:=l+1; a[3,i]:=k;
        end;
    end;
  end;
    print;
    close(f1); close(f2);
end.