记录编号 | 1505 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 渡轮问题 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | Pascal | 运行时间 | 0.630 s | ||
提交时间 | 2008-09-03 14:27:19 | 内存使用 | 0.17 MiB | ||
program maxxl; type shuzu=array[1..10000,1..3] of integer; var s:shuzu; l,k,i,j,m,n,a,b,max,temp:longint; f1,f2:text; flag:boolean; begin assign(f1,'maxxl.in');reset(f1); assign(f2,'maxxl.out');rewrite(f2); readln(f1,n); for i:=1 to 10000 do begin s[i,1]:=0;s[i,2]:=0;s[i,3]:=0; end; for i:=1 to n do begin readln(f1,s[i,1]); s[i,2]:=1; s[i,3]:=0; end; for i:=n-1 downto 1 do begin l:=0; k:=0; for j:=i+1 to n do if (s[i,1]<=s[j,1])and(s[j,2]>l) then begin l:=s[j,2]; k:=j; if l>0 then begin s[i,2]:=l+1; s[i,3]:=k; end; end; end; max:=s[1,2]; temp:=1; for i:=1 to n do if s[i,2]>max then begin max:=s[i,2]; temp:=i; end; writeln(f2,max); write(f2,s[temp,1],' '); repeat temp:=s[temp,3]; if temp=0 then break; write(f2,s[temp,1],' '); until temp=0; writeln(f2); close(f2); end.