记录编号 1337 评测结果 AAAAAAAAAA
题目名称 渡轮问题 最终得分 100
用户昵称 GravatarEnAsn 是否通过 通过
代码语言 Pascal 运行时间 0.681 s
提交时间 2008-09-01 21:16:18 内存使用 0.00 MiB
显示代码纯文本
program ex;
type
  ss=array [1..10001,1..3] of longint;
var
  f1,f2:text;
  a:ss;
  i,j,p,l,n:longint;
begin
  assign(f1,'maxxl.in');
  assign(f2,'maxxl.out');
  reset(f1);
  rewrite(f2);
  readln(f1,n);
  for i:=1 to n do
   begin
    read(f1,a[i,1]);
    a[i,2]:=1;
    a[i,3]:=0;
   end;
  for i:=n-1 downto 1 do
   begin
    l:=0; p:=0;
    for j:=i+1 to n do
     if (a[j,1]>=a[i,1])and(a[j,2]>l)
      then
       begin
        l:=a[j,2];
        p:=j;
       end;
    if p<>0 then
     begin
      a[i,2]:=l+1;
      a[i,3]:=p;
     end;
   end;
   l:=0; p:=0;
   for i:=1 to n do
    if a[i,2]>l then
    begin
     l:=a[i,2];
     p:=i;
    end;
   writeln(f2,l);
   while p<>0 do
    begin
     write(f2,a[p,1],' ');
     p:=a[p,3];
    end;
   close(f1);
   close(f2);
end.