li1.pas

来自「设有由n个不相同的整数组成的数列」· PAS 代码 · 共 32 行

PAS
32
字号
program li1;
const maxn=100;
var a,b,c:array[1..maxn] of integer;
    fname:string;
    f:text;
    n,i,j,max,p:integer;
begin
 readln(fname);
 assign(f,fname);
 reset(f);
 readln(f,n);+
 for i:=1 to n do
  begin
  read(f,a[i]);
  b[n]:=1;
  c[n]:=0;
  end;
 for i:= n-1 downto 1 do
  begin
   max:=0;p:=0;
   for j:=i+1 to n do
    if (a[i]<a[j]) and (b[j]>max) then  begin max:=b[j];p:=j end;
   if p<>0 then begin b[i]:=b[p]+1;c[i]:=p end
  end;
 max:=0;p:=0;
 for i:=1 to n do
  if b[i]>max then begin max:=b[i];p:=i end;
 writeln('maxlong=',max);
 write('result is:');
 while p<>0 do
  begin write(a[p]:5);p:=c[p] end;
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?